[Python] Ein Memorandum der schönen Suppe4

Einführung

Ein Memorandum über die Suche nach HTML-Tags von beautifulsoup4.

Umgebung

Einfache Suche

#Alle p-Tags
find_all("p")

#Es wurde nur das erste p-Tag gefunden
find("p")

#ein tag und href beginnend mit hogehoge
import re
find_all("a", href=re.compile("^hogehoge"))

Suche mit dem CSS-Selektor

#Geben Sie die Eltern-Kind-Beziehung lose an
select('body div p')

#Eltern-Kind-Beziehung Nr. 2, streng
select('body > div > p')

#Name der Klasse
select('.myclass')

#ID-Name
select('#myid')

#UND Zustand
select('.myclass1.myclass2')

n-tes Tag

#Der dritte HTML-Code unten<li>Suche nach Tags
# <html>
# <body>
#   <ul>
#     <li>Unbestimmt</li>
#     <li>Unbestimmt</li>
#     <li>Es ist angegeben</li>
#     <li>Unbestimmt</li>
#   </ul>
# </body>
# </html>

select('body > ul > li:nth-of-type(3)')

Was tun, wenn nth-of-type () nicht funktioniert?

Der Grund, warum es nicht funktionierte, war, dass das HTML der Scraping-Quell-Site ein Start-Tag, aber kein Close-Tag hatte. Die Lösung besteht darin, das Start-Tag zu entfernen. (Das schließende Tag war übrigens in den Entwicklertools von Chrome vorhanden, sodass ich es erst bemerkte, als ich mir die Quelle der Seite ansah ...)

url = "http://hogehoge/"
soup = BeautifulSoup(url.text, "lxml")

#Entfernen Sie das dd-Tag, da für das dd-Tag kein schließendes Tag vorhanden ist
for tag in soup.find_all('dd'):
  tag.unwrap()

Entfernen Sie alle <dd> Tags. Wenn Sie jedoch .decompose () verwenden, verschwinden auch die Elemente nach <dd>. Löschen Sie daher nur das Tag mit .unwrap ().

Verweise

Recommended Posts

[Python] Ein Memorandum der schönen Suppe4
Ein Memorandum bei der Verwendung von schöner Suppe
[Python3] Verstehe die Grundlagen von Beautiful Soup
[Python] Eine Tabelle mit Beautiful Soup kratzen
Memorandum zum Löschen von Python-Strings
Meine schöne Suppe (Python)
Ein Memorandum zum Aufrufen von Python aus Common Lisp
Memorandum der Extraktion durch Python BS4-Anfrage
Hinweis zur Kernel-Kompilierung
Ein kleines Memorandum von openpyxl
Memorandum über Korrelation [Python]
Ein Memorandum über den Python-Mock
Ein Memorandum zur Verwendung von eigen3
[Python] Löschen Sie, indem Sie ein Tag mit Beautiful Soup angeben
Eine Aufzeichnung zum Patchen eines Python-Pakets
Versuchen Sie es mit Python + Beautiful Soup
Ein Memorandum, in dem ich über mein persönliches HEROKU & Python (Flask) gestolpert bin
Schöne Suppe
Python-Memorandum 2
Eine kurze Zusammenfassung der Python-Sammlung
Kratzen mit Python und schöner Suppe
Memorandum of files unter conf.d.
Python-Memorandum
Python Memorandum
Python Memorandum
Python-Memorandum
Python Memorandum
Anfänger Memorandum Python "isdigit" Bewegung
Python-Memorandum
Ein Memorandum über den Inhalt der Abschlussumfrage
Memorandum des Python-Paketverwaltungstools ez_setup
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 4)
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 5)
Ein Memorandum zum Erwerb der Grundprüfung für die Python3-Ingenieurzertifizierung
Zeigen Sie eine Liste der Alphabete in Python 3 an
Hinweis zur Verwendung der Python-Eingabefunktion
Ein Memorandum über die Geschwindigkeit der Diagonalisierung beliebigen Grades
Erstellen Sie ein Beziehungsdiagramm von Python-Modulen
Memorandum von Python-Anfängern
Verbinde viel Python oder und und
Memorandum zu Djangos QueryDict
[Python] Ruft eine Liste der Instanzvariablen ab
[Python] [Meta] Ist der Python-Typ ein Typ?
Die Geschichte der Verarbeitung A von Blackjack (Python)
[Python] Nur eine Liste der Ordner abrufen
Ein Memorandum über Probleme beim Formatieren von Daten
Python-Grundmemorandum
Python Pathlib Memorandum
Memorandum von sed
Python-Memorandum (Algorithmus)
Schöne Suppe Memo
Python-Grundlagen ①
Grundlagen von Python ①
Schreiben Sie einen einfachen kopflosen Web-Scraping-Bot in Python mit Beautiful Soup 4
Kopie von Python
Python-Memorandum [Links]
Einführung von Python
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
[AtCoder] Lösen Sie ein Problem von ABC101 ~ 169 mit Python
Zeichnen Sie in Python ein Diagramm einer quadratischen Funktion