[PYTHON] Lernaufzeichnung (3. Tag) # CSS-Selektorbeschreibungsmethode #Scraping with BeautifulSoup

Inhalt des Studiums

Wie schreibe ich CSS Selector

Im Folgenden werden 10 Möglichkeiten zum Schreiben von CSS-Selektoren gezeigt. Jeder CSS-Sektor ruft ein Element von "Eurasien" von "Kontinenten.html" ab.

<ul id="continents">
    <li id="au">Australia</li>
    <li id="na">NorthAmerica</li>
    <li id="sa">SouthAmerica</li>
    <li id="ea">Eurasia</li>
    <li id="af">Africa</li>
</ul>
from bs4 import BeautifulSoup
fp = open("continents.html", encoding="utf-8")

soup = BeautifulSoup(fp, 'html.parser')

sel = lambda q: print(soup.select_one(q).string)
sel("#ea")   # (1)
sel("li#ea")   # (2)
sel("ul > li#ea")   # (3)
sel("#continents #ea")   # (4)
sel("#continents > #ea")   # (5)
sel("ul#continents >li#ea")   # (6)
sel("li[id='ea']")   # (7)
sel("li:nth-of-type(4)")   # (8)

print(soup.select("li")[3].string)   # (9)
print(soup.find_all("li")[3].string)   # (10)

(1) Extrahieren Sie das Element, dessen ID-Attribut "ea" ist (2) Extrahieren Sie das Element mit dem Tag "

  • " und dem ID-Attribut "ea" (3) Extrahieren Sie (2), indem Sie es aus dem oberen "