首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >美丽的汤find_all bug?

美丽的汤find_all bug?
EN

Stack Overflow用户
提问于 2015-02-11 13:59:45
回答 2查看 342关注 0票数 1

现在我用美汤来解析html页面。但有时我通过find_all得到的结果比页面数还少。例如,此页面http://www.totallyfreestuff.com/index.asp?m=0&sb=1&p=5有18个标题跨度。但是当我使用下面的代码时,它只得到了两个!谁能告诉我为什么。提前谢谢你!

代码语言:javascript
复制
soup = BeautifulSoup(page, 'html.parser')
hrefDivList = soup.find_all("span", class_ = "headline")
#print hrefDivList
print len(hrefDivList)
EN

回答 2

Stack Overflow用户

发布于 2015-02-11 17:46:35

你可以尝试使用不同的解析器来解析Beautifulsoup。

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2015-02-11 17:51:21

你可以尝试CSS选择器,让你的生活更轻松。

代码语言:javascript
复制
hrefDivList = soup.select("span.headline")
#print hrefDivList
print len(hrefDivList)

或者,您可以直接迭代每个Span文本

代码语言:javascript
复制
for every_span in soup.select("span.headline"):
    print(every_span.text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28447522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档