Web Scraping mit Python Erster Schritt

Dies ist ein Artikel für Anfänger des Web Scraping mit Python 3 und Beautiful Soup 4.

Ich bezog mich auf frühere Artikel, Da eine Warnung angezeigt wurde oder aufgrund des unterschiedlichen Versions nicht funktionierte, habe ich versucht, sie erneut zusammenzufassen.

Überblick

Der grundlegende Prozess des Web Scraping ist wie folgt.

① Holen Sie sich die Webseite. (2) Teilen Sie die Elemente der erfassten Seite und extrahieren Sie einen beliebigen Teil. ③ In der Datenbank speichern.

Verwenden Sie request, um die Webseite von ① und BeautifulSoup4 zum Verarbeiten von ② zu erhalten. Da ③ je nach Umgebung unterschiedlich ist, wird die Erklärung in diesem Artikel weggelassen.

Vorbereitung

Nach der Installation von Python3 Verwenden Sie den Befehl pip, um die drei Pakete BeautifulSoup4, request und lxml zu installieren.

$ pip install requests 
$ pip install lxml
$ pip install beautifulsoup4

Programmausführung

Erstellen Sie die folgende Skriptdatei.

sample.py


import requests
from bs4 import BeautifulSoup

target_url = 'http://example.co.jp'  #example.co.jp ist eine fiktive Domain. Wechseln Sie zu einer beliebigen URL
r = requests.get(target_url)         #Holen Sie sich aus dem Web mit Anfragen
soup = BeautifulSoup(r.text, 'lxml') #Elemente extrahieren

for a in soup.find_all('a'):
	print(a.get('href'))         #Link anzeigen

Starten Sie eine Eingabeaufforderung und führen Sie den folgenden Befehl aus.

$ python sample.py 

Wenn der Seitenlink nach der Ausführung auf der Konsole angezeigt wird, ist er erfolgreich!

Schöne Suppenmethode

Hier sind einige nützliche Methoden für BeautifulSoup.

soup.a.string          #Ändern Sie die Zeichenfolge des a-Tags
soup.a.attrs            #Ändern Sie alle Attribute
soup.a.parent          #Übergeordnetes Element wird zurückgegeben

soup.find('a')          #Das erste Element wird zurückgegeben
soup.find_all(id='log')    #Alle Elemente werden zurückgegeben

soup.select('head > title')   #Wird vom CSS-Selektor angegeben

BeautifulSoup bietet viele andere Methoden, die Sie verwenden können. Einzelheiten entnehmen Sie bitte dem offiziellen Dokument. https://www.crummy.com/software/BeautifulSoup/bs4/doc/

Grenzen Sie die Elemente ein

Es ist zweckmäßig, den regulären Ausdruck von re zu verwenden, um das Zielelement einzugrenzen.

import re
soup.find_all('a', href=re.compile("^http"))     #Links, die mit http beginnen
import re
soup.find_all('a', href=re.compile("^(?!http)")) #Beginnt nicht mit http(Verweigerung)
import re
soup.find_all('a', text=re.compile("N"), title=re.compile("W")) #Elemente, bei denen Text N und Titel W enthält

Strings manipulieren

Es ergänzt die Zeichenfolgenoperationen, die beim Scraping hilfreich sind.

-Entfernte Leerzeichen vor und nach Zeichen
"  abc  ".strip()
→abc
・ Zeichen teilen
"a, b, c,".split(',') 
→[a, b, c]
・ Suchen Sie nach Zeichenfolgen
"abcde".find('c') #Gibt die Position zurück, wenn ein bestimmtes Zeichen vorhanden ist.
→2
・ Ersetzen von Zeichen
"abcdc".replace('c', 'x')
→abxdx

Artikel, auf die verwiesen wird

http://qiita.com/itkr/items/513318a9b5b92bd56185

Recommended Posts

Web Scraping mit Python Erster Schritt
Web Scraping mit Python + JupyterLab
Web Scraping Anfänger mit Python
Scraping mit Python
Scraping mit Python
Ich habe versucht, WebScraping mit Python.
[GUI mit Python] PyQt5-Der erste Schritt-
Python-Anfänger bleiben beim ersten Web-Scraping stecken
WEB-Scraping mit Python (für persönliche Notizen)
Erste Schritte mit Python Web Scraping Practice
[Persönlicher Hinweis] Scraping von Webseiten in Python3
Pferderennseite Web Scraping mit Python
Erste Schritte mit Python Web Scraping Practice
Üben des Web-Scrapings mit Python und Selen
Einfaches Web-Scraping mit Python und Ruby
[Für Anfänger] Versuchen Sie Web Scraping mit Python
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Scraping mit Python + PhantomJS
Schaben mit Selen [Python]
Scraping mit Python + PyQuery
Scraping von RSS mit Python
Web Scraping mit Python (Wettervorhersage)
Web Scraping mit Python (Aktienkurs)
Ich habe versucht, mit Python zu kratzen
Schaben mit Selen in Python
Schaben mit Selen + Python Teil 1
Schaben mit Chromedriver in Python
Speichern Sie Bilder mit Web Scraping
Scraping mit Selen in Python
Erste Nervenzellsimulation mit NEURON + Python
Einfaches Web-Scraping mit Scrapy
Scraping mit Tor in Python
Web-API mit Python + Falcon
Web Scraping mit Selenium (Python)
Kratzwettervorhersage mit Python
Schaben mit Selen + Python Teil 2
Webanwendung mit Python + Flask ② ③
Ich habe versucht, mit Python zu kratzen
Optimieren Sie die Websuche mit Python
Webanwendung mit Python + Flask ④
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
Schnelles Web-Scraping mit Python (unterstützt das Laden von JavaScript)
Versuchen Sie es mit Python + Beautiful Soup
Scraping mit Node, Ruby und Python
Scraping mit Selen in Python (Basic)
Scraping mit Python, Selen und Chromedriver
Erste Schritte mit Python-Webanwendungen
Scraping von Alexas Web Rank mit pyQuery
Kratzen mit Python und schöner Suppe
Überwachen Sie Python-Webanwendungen mit Prometheus
Holen Sie sich Web-Screen-Capture mit Python
[Scraping] Python-Scraping
Webcrawlen, Web-Scraping, Zeichenerfassung und Speichern von Bildern mit Python
Lassen Sie uns mit Python Image Scraping durchführen
C / C ++ - Programmierer fordert Python heraus (erster Schritt)