我正在尝试从雅虎金融股中提取历史数据。我从网上找到了一些代码,并对其进行了修改。它一开始是有效的,但现在我不能从雅虎那里刮掉面包屑了。有人能建议如何解决这个问题吗?
我第一次抓取雅虎时,它抓取了20组数据,然后就停止了工作。我重新启动了它,但它不起作用
相关代码附在下面
def _get_crumbs_and_cookies(stock):
"""
get crumb and cookies for historical data csv download from yahoo finance
parameters: stock - short-handle identifier of the company
returns a tuple of header, crumb and cookie
"""
url = 'https://finance.yahoo.com/quote/{}/history'.format(stock)
with requests.session():
header = {'Connection': 'keep-alive',
'Expires': '-1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) \
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/54.0.2840.99 Safari/537.36'
}
website = requests.get(url, headers=header)
soup = BeautifulSoup(website.text, 'lxml')
crumb = re.findall('"CrumbStore":{"crumb":"(.+?)"}', str(soup))
return (header, crumb[0], website.cookies)
整个原始代码可以在以下位置找到:https://maikros.github.io/yahoo-finance-python/
提前感谢您的帮助
发布于 2018-09-05 16:41:38
我认为你应该看看这里的这篇文章:Yahoo Finance API / URL not working: Python fix for Pandas DataReader
看起来雅虎财经已经停止了他们的历史数据:
你可以试试谷歌!然而,谷歌并不是一个真正可行的选择,因为他们调整了拆分的价格,而不是股息。
希望这能有所帮助!
发布于 2018-09-06 10:11:36
大概一周前我一直在找一个金融应用程序接口。我想,雅虎或谷歌应该提供一个好的,但我必须找出,这两个都已经停止。
现在我使用的是WorldTradingData,它每天有250个请求是免费的。我不知道你将在哪个规模上工作,但如果你需要一个应用程序,他们也提供付费订阅,有可能有更多的请求。我发现他们的客户支持非常友好和有帮助,因为我发现一些实时报价是错误的,仅仅一天后,他们已经交换了他们从哪里获取数据的位置,一切都变得很棒!
我希望这能让你到达你想要的地方!
https://stackoverflow.com/questions/52189075
复制