python - 雅虎财经下载数据
问题描述
我正在尝试抓取 Finance.yahoo.com 并下载数据文件。具体来说,这个网址:https ://finance.yahoo.com/quote/AAPL/history?p=AAPL
我想在这里完成两个目标:
- 我想将数据时间段参数设置为“Max”,我相信我需要使用 Selenium 和
- 想要下载并保存嵌入在检查“下载数据”时出现的 href 中的数据文件。
到目前为止,我无法访问单击“Max”所需的下拉菜单,也无法找到下载文件所需的 href。
from selenium import webdriver
import time
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.add_argument('--log-level=3')
stock = input()
base_url = 'https://finance.yahoo.com/quote/{}/history?p=
{}'.format(stock,stock)
driver = webdriver.Chrome()
driver.get(base_url)
driver.maximize_window()
driver.implicitly_wait(4)
driver.find_element_by_class_name("Fl(end) Mt(3px) Cur(p)").click()
time.sleep(4)
driver.quit()
解决方案
您可以立即消除 #1 —— 只需直接查看页面,并按要求传递参数。
基本 URI 是:https://finance.yahoo.com/quote/AAPL/history
可用参数有:period1
、period2
、interval
和。filter
frequency
非常简单,只需将 now 作为 epoch 时间戳,并将其用作period2
参数,其中period1
可以简单地作为开始 epoch 0
。和可以是任何你想要interval
的;frequency
每天1d
、每周1wk
或每月1mo
。最后,filter
应该是history
。
完成的 URI:
https://finance.yahoo.com/quote/AAPL/history?period1=0&period2=1555905600&interval=1d&filter=history&frequency=1d
从那里,使用 Selenium 定位并单击Download Data
链接。
更新:
正如@QHarr 所说,Stack Overflow 上到处都有很多问题,详细说明了如何与雅虎财务合作。我还建议您试一试。
推荐阅读
- amp-html - IFrame contents do not show up in an hidden div container
- mysql - 如何在 Mysql 中优化我的代码?
- mysql - 使用原始 sql 时的 Laravel SQL 参数绑定
- scala - SparkSession throw 找不到或加载主类
- hyperledger-composer - 看跌期权后资产中的信息消失
- python - 如何使用opencv dnn模型加载张量流的预训练模型
- java - 使用 Java 8 Stream API 时如何移动到循环中的下一个值
- linux - Shell脚本:将程序的输出重定向到更改的文件
- sass - SASS在目录选择的子目录中监视多个.scss?
- c# - 从列表中提取列表
> 不创建副本?