python - 抓取此网站时遇到问题
问题描述
我正在尝试在工作中抓取一个网站,但遇到错误代码问题。这是我的代码。
from bs4 import BeautifulSoup
html = "https://reddit.com" #just an example
soup = BeautifulSoup(requests.get(html).text, 'html.parser')
rootDiv=soup.find('div',attrs={'id':'root'})
if(rootDiv):
targetdivs=rootDiv.find('div',attrs={'class':'box-bottom'})
for targetDiv in targetdivs:
span=targetdivs.find('span',attrs={'class':'box-bottom-offline'})
if(span):
print(span.text)
这是我试图用红色圈起来的内容的一个片段。
运行代码后,我收到错误:
TypeError:“NoneType”对象不可迭代
任何建议将不胜感激
解决方案
如果您仔细查看 html,'class':'box-bottom'只出现一次,这也是错误显示“object is not iterable”的原因,这基本上意味着targetDiv 不是可以循环的数组。
试试看嘛
print(targetdivs)
后
targetdivs=rootDiv.find('div',attrs={'class':'box-bottom'})
然后你会得到你的答案,希望这会有所帮助
推荐阅读
- spring-boot - @CachePut 不更新缓存
- c# - 我想知道从顶部计数的选定节点索引包括父节点
- dapper - dapper join splitOn 多列键
- angular - Angular 根据条件使用 SCSS
- mpandroidchart - mpandroidchart 我想通过散点图中的某个值更改点颜色
- odoo - 无法在 Odoo 中创建不平衡的日记帐分录
- android - 如何在 Fragment 中覆盖 dispatchTouchEvent
- java - 如何以多行而不是一长行打印arraylist
- hl7-fhir - Vonk FHIR 服务器捆绑验证问题
- javascript - 将 HTML 表格数据导出到 Excel 不起作用