soup - web scraping python



La bella zuppa trova i bambini per div (1)

Sto cercando di analizzare una pagina web simile a questa con Python-> Beautiful Soup:

Sto cercando di estrarre il contenuto del td div evidenziato. Attualmente posso ottenere tutti i div da

alltd = soup.findAll('td')


for td in alltd:
    print td

Ma sto cercando di restringere il campo di applicazione per cercare i tds nella "tablebox" della classe, che probabilmente restituirà 30+ ma è più gestibile di un numero superiore a 300+.

Come posso estrarre i contenuti della td in evidenza evidenziata sopra?


È utile sapere che qualsiasi elemento che BeautifulSoup trova all'interno di un elemento ha ancora lo stesso tipo di quell'elemento genitore - cioè, è possibile chiamare vari metodi.

Quindi questo è un codice piuttosto funzionante per il tuo esempio:

soup = BeautifulSoup(html)
divTag = soup.find_all("div", {"class": "tablebox"}):

for tag in divTag:
    tdTags = tag.find_all("td", {"class": "align-right"})
    for tag in tdTags:
        print tag.text

Questo stamperà tutto il testo di tutti i tag td con la classe di "align-right" che ha un div padre con la classe di "tablebox".





beautifulsoup