为了账号安全,请及时绑定邮箱和手机立即绑定

Python BS4 find() find_all() 返回空列表

Python BS4 find() find_all() 返回空列表

森栏 2021-09-14 20:49:53
Hy,我正在尝试抓取一个网站https://www.dawn.com/pakistan但 python find() find_all() 方法返回空列表,我已经尝试了 html5.parser、html5lib 和 lxml 仍然没有运气。我试图抓取的类存在于源代码和汤对象中,但似乎没有工作,任何帮助将不胜感激,谢谢!代码:from bs4 import BeautifulSoup import lxmlimport html5libimport urllib.requesturl1 = 'https://www.dawn.com/pakistan'req = urllib.request.Request(    url1,     data=None,     headers={    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}                        )url1UrlContent=urllib.request.urlopen(req).read()soup1=BeautifulSoup(url1UrlContent,'lxml')url1Section1=soup1.find_all('h2', class_='story__title-size-five-text-black- font--playfair-display')print(url1Section1)
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

你的也应该工作(我使用了不同的语法)。但这是您拥有的字符串不匹配。

你有: 'story__title-size-five-text-black- font--playfair-display'

我有:'story__title size-five text-black font--playfair-display '这是一个非常细微的区别

代替:

url1Section1=soup1.find_all('h2', class_='story__title-size-five-text-black- font--playfair-display')

和:

url1Section1=soup1.find_all('h2', {'class':'story__title size-five text-black font--playfair-display '})

看看这是否有帮助


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 453 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信