我想刮的价格/变化率的股票在雅虎金融。我做了一个程序,在谷歌上搜索我感兴趣的股票的雅虎财经链接,然后从网页中提取数据。问题是它提取的数据是几分钟前的。html请求的编程方式是这样的,我可以看到价格,变化率,以及数据上次更新的时间。我对编程很陌生,所以答案可能很明显,但我不明白为什么它不能提取当前信息。
代码如下:
from googlesearch import search
import requests
from bs4 import BeautifulSoup
def get_data(stock):
# Search for the yahoo finance website on Google
url = ""
for results in search(f"yahoo finance {stock} stock", tld='com', num=10, stop=10, pause=2):
page = results.split('.')
if page[1] == "yahoo":
url = results
break
# Extract data
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
change = soup.find('div', {'class': 'D(ib) Mend(20px)'}).text
return change
print(get_data("apple"))
我试图找到任何与我的问题有关的东西,但没有找到任何解决方案或问题可能是什么。
先谢谢你了!
1条答案
按热度按时间lnlaulya1#
解决了问题。需要在http请求中指定用户代理