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 '})
看看这是否有帮助
添加回答
举报
0/150
提交
取消