<TABLE cellSpacing=0 cellPadding=0 width=700 border=0 617px; HEIGHT: 22px 23px 536px;>
...
</TABLE>
Ich möchte alle Elemente nur wählen wie oben: der Tag TABLE
ist, und es gibt mehrere Attribute (cellSpacing=0,cellPadding=0,width=700,border=0
).Python, BeautifulSoup4: select Elemente, bei denen mehrere Attribute mehrere Werte entsprechen jeweils
Ich habe versucht, den folgenden Python-Skript:
import requests
from bs4 import BeautifulSoup
result=requests.get("http://news.scu.edu.cn/news2012/cdzx/I0201index_1.htm")
result.encoding="GBK"
soup=BeautifulSoup(result.text,"html.parser")
soup=soup.find("TABLE",attrs={"cellspacing":"0","cellpadding": "0","width":
"700","border":"0"})
print(soup)
führen Sie das Skript ohne Fehler, aber schöne Suppe findet nothing.This muss falsch sein, wenn Sie die Seite (http://news.scu.edu.cn/news2012/cdzx/I0201index_1.htm) mit Chrome öffnen, rechts klicken, gehen inspect-> Netzwerk-> Doc-> Response, Suche <TABLE cellSpacing=0 cellPadding=0 width=700 border=0 617px; HEIGHT: 22px 23px 536px;>
, werden Sie 30 passende Ergebnisse finden.
Danke, das ist richtig, ich habe "TABLE" in "table" geändert, endlich gibt schöne Suppe einige gültige Informationen zurück.Aber es scheint ein anderes Problem zu geben: schöne Suppe gibt nur das erste Element von 30 zurück habe eine Idee was ist das Problem? –
@bowen hast du 'find_all()' anstelle von 'find()' versucht? – alecxe
Hoppla, tut mir leid, ich hätte es googeln können. Sorry Mann, ich muss deine Zeit verschwendet haben. Vielen Dank !!! –