我想从这个网站获取比特币的价格:https://www.coindesk.com/price/bitcoin 但我不知道该怎么做,我对编码还很陌生。你知道吗
这是我的代码到目前为止,我不知道我做错了什么。提前谢谢。你知道吗
from bs4 import BeautifulSoup
import requests
r = requests.get('https://www.coindesk.com/price/bitcoin')
r_content = r.content
soup = BeautifulSoup(r_content, 'lxml')
p_value = soup.find('span', {'class': "currency-price", "data-value": True})['data-value']
print(p_value)
结果如下:
Traceback (most recent call last): File "C:/Users/aidan/PycharmProjects/scraping/Scraper.py", line 8, in p_value = soup.find('span', {'class': "currency-price", "data-value": True})['data-value'] TypeError: 'NoneType' object is not subscriptable
内容动态地来自返回json的API调用。您可以使用货币列表或单一货币。有了
requests
,javascript就不会运行,这个内容也不会添加到DOM中,各种DOM更改也就不会发生了。你知道吗您的网站没有以html格式保存数据,这样您就无法刮取数据,但它们使用的是您可以使用的终结点:
价格一直在变化,所以我的产量可能不同
这里的问题是
soup.find()
调用没有返回值(也就是说,页面上定义的属性没有span
),因此当您尝试获取data-value
时,没有字典可供查找。你知道吗相关问题 更多 >
编程相关推荐