Per esempio, se sto cercando per attributo di un elemento come id:Utilizzando findStrumento di BeautifulSoup per cercare innerText dell'elemento html per ottenere lo stesso risultato della ricerca di attributi?
soup.findAll('span',{'id':re.compile("^score_")})
torno una lista di tutto l'elemento arco che corrisponde (che mi piace).
Ma se provo a cercare per innerText dell'elemento HTML come questo:
soup.findAll('a',text = re.compile("discuss|comment"))
torno solo la parte innerText di elemento posteriore che corrisponde al posto del tutto l'elemento con tag e attributi come ho sarebbe sopra.
È possibile fare a meno di trovare la corrispondenza e ottenere il genitore?
Grazie.
Super, grazie. Fondamentalmente per ottenere ciò che volevo, dovevo semplicemente mappare i risultati, in questo modo: comments = map (lambda x: x.parent, soup.findAll ('a', text = re.compile (". Discuss | comment. "))) – Jack
maplambda è brutto, quindi mi limiterei a fare' [s.parent per s in soup.findAll (...)] ' – nosklo
@Jack: vale anche la pena controllare' lxml.html' - I'm preferendolo su 'BeautifulSoup' poiché quest'ultimo non viene più mantenuto ed è più lento. – nosklo