[PYTHON] Kratzen mit schöner Suppe

Umgebung Mac, Python3

Vorbereitungen

Installieren Sie Beautiful Soup und lxml

$ pip install beautifulsoup4
$ pip install lxml

Ich habe unterwegs einen Fehler erhalten, aber die Installation war erfolgreich. Bisher gibt es keine Probleme.

Grundform der Suppe

from bs4 import BeautifulSoup
import urllib.request

#Beim Abrufen von HTML aus dem Web
url = '××××××××××××'
req = urllib.request.Request(url)
response = urllib.request.urlopen(req)
html = response.read()
soup = BeautifulSoup(html, "lxml")
#Beim direkten Öffnen von lokalem HTML
soup = BeautifulSoup(open("index.html"), "lxml")

Was ist von nun an zu tun?

Rufen Sie das Element ab, indem Sie das Tag angeben, das die gewünschten Informationen enthält.

Häufig verwendete Spezifikationsmethode


-Geben Sie die Klasse an
   soup.find(class_='class_name')
   #Wenn nach dem Unterricht kein Unterstrich vorhanden ist, tritt ein Fehler auf.
-Geben Sie die ID an
   soup.find(id="id_name")
   #Die ID bleibt gleich.
-Geben Sie das Tag zusammen an
   soup.find('li', class_='class_name')
   soup.find('div', id="id_name")

find () erhält nur den ersten Treffer. Wenn Sie mehr als eine erhalten möchten, verwenden Sie find_all ().

images = soup.find_all('img')
  for img in images:
    ~Individuelle Bearbeitung~
soup.select("p > a")
soup.select('a[href="http://example.com/"]')

Ausführungsbeispiel

Es ist eine Probe nach dem Laden von HTML in die Suppe.

Beispiel 1: Holen Sie sich den Text zwischen den Tags

sample.html


<html>
  <title>test title</title>
</html>
>>> soup.title
<title>test title</title>
>>> soup.title.string
'test title'

Sie können es erhalten, indem Sie am Ende .string hinzufügen.

Beispiel 2: Extrahieren Sie den src des img-Tags

sample.html


<html>
  <div id="hoge">
    <img class="fuga" src="http://××.com/sample.jpg "/>
  </div>
</html>

Holen Sie sich zuerst das div-Tag mit id = "hoge"

>>> div = soup.find('div' id="hoge")
<div id="hoge">
  <img class="fuga" src="http://××.com/sample.jpg "/>
</div>

Als nächstes erhalten Sie das img-Tag von class = "fuga" von der div

>>> img = div.find('img', class_='fuga')
<img class="fuga" src="http://××.com/sample.jpg "/>
>>> img['src']
"http://××.com/sample.jpg "

Sie brauchen eigentlich kein Div mit diesem Muster. Ich wollte jedoch ein Beispiel erstellen, das sich verengt, also habe ich ein div hinzugefügt.

Referenz http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup

Recommended Posts

Kratzen mit schöner Suppe
Tischkratzen mit schöner Suppe
Versuchen Sie es mit Python + Beautiful Soup
Mehrere Seiten mit Beautiful Soup verschrotten
Kratzen mit Python und schöner Suppe
Kratzen mit schöner Suppe in 10 Minuten
Website-Scraping mit Beautiful Soup in Python
Schöne Suppe
Krabbeltraining mit schöner Suppe
Schaben mit Selen
Schaben mit Selen ~ 2 ~
Scraping mit Python
Scraping mit Python
Schöne Suppe Memo
Schaben mit Selen
[Python] Eine Tabelle mit Beautiful Soup kratzen
Entfernen Sie unerwünschte HTML-Tags mit Beautiful Soup
Erfolgreiches Schaben mit Selen
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Scraping mit Python + PhantomJS
Meine schöne Suppe (Python)
Sortieren Sie Anime-Gesichter, indem Sie Anime-Charakterseiten mit Beautiful Soup und Selenium abkratzen
Schreiben Sie einen einfachen kopflosen Web-Scraping-Bot in Python mit Beautiful Soup 4
Schaben mit Selen [Python]
Scraping mit Python + PyQuery
Scraping von RSS mit Python
[Python] Löschen Sie, indem Sie ein Tag mit Beautiful Soup angeben
Ich habe versucht, mit Python zu kratzen
Laden Sie Bilder automatisch mit Scraping herunter
Web Scraping mit Python + JupyterLab
Schaben mit Selen + Python Teil 1
Schaben mit Chromedriver in Python
Festliches Scraping mit Python, Scrapy
Speichern Sie Bilder mit Web Scraping
Scraping mit Selen in Python
Einfaches Web-Scraping mit Scrapy
Scraping mit Tor in Python
Schaben Nikkei Durchschnitt mit Dramatiker-Python
Schaben mit Selen + Python Teil 2
Ich habe mit Python verschiedene Dinge ausprobiert: Schaben (Beautiful Soup + Selenium + PhantomJS) und morphologische Analyse
Web Scraping Anfänger mit Python
I-Town-Seite mit Selen abkratzen
Scraping von Google News-Suchergebnissen in Python (2) Verwenden Sie Beautiful Soup
Ein Memorandum bei der Verwendung von schöner Suppe
Scraping mit Node, Ruby und Python
Scraping mit Selen in Python (Basic)
Scraping mit Python, Selen und Chromedriver
Scraping von Alexas Web Rank mit pyQuery
Web Scraping mit Python Erster Schritt
Ich habe versucht, WebScraping mit Python.
Zeichne einen schönen Kreis mit Numpy
Lassen Sie uns mit Python Image Scraping durchführen
Holen Sie sich Qiita-Trends mit Python-Scraping
Rufen Sie die URL des Linkziels ab, indem Sie den Textsatz mit Python Scraping (Beautiful Soup) + XPath angeben
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Schaben 1