[Für Anfänger] Web-Scraping mit Python "Greifen Sie auf die URL auf der Seite zu, um den Inhalt abzurufen."

Einführung

Letzte Überprüfung

Dies ist eine Fortsetzung des Artikels [Für Anfänger] Versuchen Sie Web-Scraping mit Python. Letztes Mal Nikkei Business Electronic Version https://business.nikkei.com/ Ich habe die Überschrift und URL des neuen Artikels von erhalten.

Dies allein können Sie jedoch herausfinden, indem Sie tatsächlich auf diese URL zugreifen.

Zweck dieser Zeit

Wenn Sie beim Durchsuchen der Nachrichtenseite Nachrichten finden, die Sie interessieren, klicken Sie darauf, um die Details anzuzeigen. Nikkei Business-Artikel, obwohl nicht alle Nachrichten, enthalten eine Artikeleinführung mit etwa 150 Zeichen, die Sie dazu bringt, vor dem Inhalt zu lesen. Wenn Sie diesen Inhalt zusammen anzeigen, können Sie ihn als Grundlage für die Entscheidung verwenden, ob Sie den Artikel lesen möchten oder nicht. Es ist schwierig, nacheinander auf alle Artikel zuzugreifen und den Einführungstext der Artikel zu lesen. Wir werden die Güte des Web-Scrapings hervorheben.

Überprüfung des vorherigen Codes

code.py


import requests
from bs4 import BeautifulSoup
import re

urlName = "https://business.nikkei.com"
url = requests.get(urlName)
soup = BeautifulSoup(url.content, "html.parser")

elems = soup.find_all("span")

for elem in elems: 
  try:
    string = elem.get("class").pop(0)
    if string in "category":
      print(elem.string)
      title = elem.find_next_sibling("h3")
      print(title.text.replace('\n',''))
      r = elem.find_previous('a')
      #Ich erhalte die URL des Artikels
      print(urlName + r.get('href'), '\n')

      #Schreiben Sie ein Programm, um den Artikeleinführungstext des URL-Ziels in diesem Teil abzurufen

  except:
    pass

Weitere Informationen finden Sie im vorherigen Artikel. Als ich auf die Nachrichten klickte, wurde die Übergangs-URL angezeigt und das letzte Mal war vorbei. Greifen Sie diesmal auf diese URL zu, um den Inhalt abzurufen.

Programmierung

Zunächst werden wir die Anfragen und BeautifulSoup-Teile in Funktionen umwandeln.

subFunc.py


import requests
from bs4 import BeautifulSoup

def setup(url):
  url = requests.get(url)
  soup = BeautifulSoup(url.content, "html.parser")
  return url, soup

main.py


import re
import subFunc

urlName = "https://business.nikkei.com"
url, soup = subFunc.setup(urlName)

elems= soup.find_all("span")

for elem in elems: 
  try:
    string = elem.get("class").pop(0)
    if string in "category":
      print('\n', elem.string)

      title = elem.find_next_sibling("h3")
      print(title.text.replace('\n',''))

      r = elem.find_previous('a')
      nextPage = urlName + r.get('href')
      print(nextPage)
      
      #Neu geschriebener Teil von hier
      nextUrl, nextSoup = subFunc.setup(nextPage)
      abst = nextSoup.find('p', class_="bplead")
      if len(abst) != 0:
        print(abst.get_text().replace('\n',''))
  except:
    pass

Um ehrlich zu sein, ist das, was ich tue, dasselbe. Erhalten Sie Informationen über die Ziel-URL mithilfe von Anfragen und Beautiful Soup. Im Einführungstext des Artikels befand sich die Klasse im Element bplead. Einige Artikel haben jedoch keinen Einführungstext, daher habe ich versucht, sie anzuzeigen, wenn dies der Fall ist.

Das Ausführungsergebnis ist wie folgt. (Weggelassen)

Mitgestaltung / Wettbewerb / Startup
Die neue Korona ist eine Langzeitschlacht xxxxxxxxxxx
https://business.nikkei.com/atcl/gen/19/00101/040100009/    
Er klagte über eine neue Koronavirus-Epidemie xxxxxxxxxxxx.

schließlich

Als ich nachgeschlagen habe, wurden einige andere Methoden eingeführt, aber ich habe versucht, den Inhalt des Übergangsziels mit einer einfachen Methode abzurufen.

Recommended Posts

[Für Anfänger] Web-Scraping mit Python "Greifen Sie auf die URL auf der Seite zu, um den Inhalt abzurufen."
[Für Anfänger] Versuchen Sie Web Scraping mit Python
Python-Anfänger bleiben beim ersten Web-Scraping stecken
[Teil 2] Crawlen mit Python! Klicken Sie auf die Webseite, um sich zu bewegen!
Web Scraping für Anfänger in Python (1)
Web Scraping für Anfänger in Python (4) -1
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
[Python, Ruby] Selen-Holen Sie sich Webseiteninhalte mit Webdriver
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
[Persönlicher Hinweis] Scraping von Webseiten in Python3
Python VBA, um mit Selenium die gesamte WEB-Seite zu erfassen
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Der schnellste Weg für Anfänger, um Python zu beherrschen
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
So erhalten Sie die Dateien im Ordner [Python]
[Einführung für Anfänger] Umgang mit MySQL mit Python
Ich suchte nach den Fähigkeiten, die erforderlich sind, um Webingenieur bei Python zu werden
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Web Scraping für Anfänger in Python (1) Verbesserte Version
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
So ermitteln Sie die Anzahl der Stellen in Python
Konvertieren Sie das Bild in .zip mit Python in PDF
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Web-Scraping für Anfänger mit Python (4) --2 Scraping auf Cloud Shell
Holen Sie sich AccessToken für das Dienstkonto mit dem Firebase Admin Python SDK
Nachdem Sie mit Python auf die Qiita-API geklickt haben, um eine Liste mit Artikeln für Anfänger zu erhalten, werden wir die Artikel von God besuchen
Web Scraping mit Python + JupyterLab
Schaben mit Chromedriver in Python
Scraping mit Selen in Python
Scraping mit Tor in Python
Web Scraping Anfänger mit Python
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Testcode, um auf der Seite nach defekten Links zu suchen
Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
[IPdb] Anfänger in der Webentwicklung haben versucht, das Debuggen mit Python zusammenzufassen
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden
Für Anfänger, wie man mit häufigen Fehlern in Keras umgeht
So gelangen Sie mit Vagrant in die Python-Entwicklungsumgebung
Speichern Sie Bilder im Web mit Python (Colab) auf einem Laufwerk.
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Link, um mit Python zu beginnen
Scraping mit Selen in Python (Basic)
Holen Sie sich den Desktop-Pfad in Python