[PYTHON] Fiche d'apprentissage (3e jour) Méthode de description du sélecteur #CSS #Scraping avec BeautifulSoup

contenu de l'étude

Comment écrire un sélecteur CSS

Ce qui suit montre 10 façons d'écrire des sélecteurs CSS. Chaque secteur CSS extrait un élément de ʻEurasia de continents.html`.

<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) Extraire l'élément dont l'attribut id est ʻea (2) Extraire l'élément avec la balise «<li>» et l'attribut id «a» (3) Extrayez (2) en le spécifiant de la balise supérieure