现在我正在用漂亮的汤来解析html页面。但有时我通过find_all获得的结果小于页面中的数字。例如,此页面http://www.totallyfreestuff.com/index.asp?m=0&sb=1&p=5有18个标题范围。但是,当我使用以下代码时,它只有两个!任何人都可以告诉我原因。提前谢谢!
soup = BeautifulSoup(page, 'html.parser')
hrefDivList = soup.find_all("span", class_ = "headline")
#print hrefDivList
print len(hrefDivList)
答案 0 :(得分:1)
您可以尝试为Beautifulsoup使用不同的解析器。
import requests
from bs4 import BeautifulSoup
url = "<your url>"
r = requests.get(url)
soup = BeautifulSoup(r.content, 'lxml')
hrefDivList = soup.find_all("span", attrs={"class": "headline"})
print len(hrefDivList)
答案 1 :(得分:0)
您可以尝试使用CSS选择器让您的生活更轻松
hrefDivList = soup.select("span.headline")
#print hrefDivList
print len(hrefDivList)
或者您可以直接遍历每个Span文本
for every_span in soup.select("span.headline"):
print(every_span.text)