我是Python的新手,并且在线观看了多个有关Web抓取的教程视频。
这是目标网站中的元素:
<span class="status ng-binding"> 14 </span>
这是我的编码:
import requests
import bs4
headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'}
res = requests.get('https://gleam.io/cevFk/castrio-october-streaming-pc-giveaway?gsr=cevFk-SxAtZtT4Ir', headers=headers)
soup = bs4.BeautifulSoup(res.text, 'html.parser')
print(soup.select("#status ng-binding"))
我正在尝试从目标网站提取/输出数字(为14)。难道我做错了什么?任何答案将不胜感激。
答案 0 :(得分:0)
soup.find('span',{'class':'classname'},recursive = True).text
可以添加更多属性: {'attr':'value','attr':'value'}
find_all()返回一个列表 在嵌套标签中重新搜索 ewrewr
答案 1 :(得分:0)
问题在于原始响应中缺少预期的跨度。
您可以按照以下步骤进行验证。
response = requests.get(url, headers)
soup = bs4.BeautifulSoup(response.text, 'html.parser')
#print soup.prettify()
# print(soup.prettify())
print('title',soup.title)
print('fiind all spans', soup.find_all('span'))