雅虎财经历史数据下载网址无效

2024-04-07

我使用以下网址从雅虎财经获取历史数据。从 2017 年 5 月 16 日起,该网址已失效。

好像他们已经更改了网址,新网址是:

在上面更改的 URL 中有一个会话 cookie,它是碎屑。有什么想法如何以编程方式获取此cookie(在JAVA中)?


我最近写了一个简单的Python脚本来下载单个股票的历史记录。
这是如何调用它的示例:
python get_quote_history.py --symbol=IBM --from=2017-01-01 --to=2017-05-25 -o IBM.csv
这将下载 2017-01-01 至 2017-05-25 的 IBM 历史价格并将其保存在 IBM.csv 文件中。

import re
import urllib2
import calendar
import datetime
import getopt
import sys
import time

crumble_link = 'https://finance.yahoo.com/quote/{0}/history?p={0}'
crumble_regex = r'CrumbStore":{"crumb":"(.*?)"}'
cookie_regex = r'Set-Cookie: (.*?); '
quote_link = 'https://query1.finance.yahoo.com/v7/finance/download/{}?period1={}&period2={}&interval=1d&events=history&crumb={}'


def get_crumble_and_cookie(symbol):
    link = crumble_link.format(symbol)
    response = urllib2.urlopen(link)
    match = re.search(cookie_regex, str(response.info()))
    cookie_str = match.group(1)
    text = response.read()
    match = re.search(crumble_regex, text)
    crumble_str = match.group(1)
    return crumble_str, cookie_str


def download_quote(symbol, date_from, date_to):
    time_stamp_from = calendar.timegm(datetime.datetime.strptime(date_from, "%Y-%m-%d").timetuple())
    time_stamp_to = calendar.timegm(datetime.datetime.strptime(date_to, "%Y-%m-%d").timetuple())

    attempts = 0
    while attempts < 5:
        crumble_str, cookie_str = get_crumble_and_cookie(symbol)
        link = quote_link.format(symbol, time_stamp_from, time_stamp_to, crumble_str)
        #print link
        r = urllib2.Request(link, headers={'Cookie': cookie_str})

        try:
            response = urllib2.urlopen(r)
            text = response.read()
            print "{} downloaded".format(symbol)
            return text
        except urllib2.URLError:
            print "{} failed at attempt # {}".format(symbol, attempts)
            attempts += 1
            time.sleep(2*attempts)
    return ""

if __name__ == '__main__':
    print get_crumble_and_cookie('KO')
    from_arg = "from"
    to_arg = "to"
    symbol_arg = "symbol"
    output_arg = "o"
    opt_list = (from_arg+"=", to_arg+"=", symbol_arg+"=")
    try:
        options, args = getopt.getopt(sys.argv[1:],output_arg+":",opt_list)
    except getopt.GetoptError as err:
        print err

    for opt, value in options:
        if opt[2:] == from_arg:
            from_val = value
        elif opt[2:] == to_arg:
            to_val = value
        elif opt[2:] == symbol_arg:
            symbol_val = value
        elif opt[1:] == output_arg:
            output_val = value

    print "downloading {}".format(symbol_val)
    text = download_quote(symbol_val, from_val, to_val)

    with open(output_val, 'wb') as f:
        f.write(text)
    print "{} written to {}".format(symbol_val, output_val)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

雅虎财经历史数据下载网址无效 的相关文章

  • 在 .NET 中解析 FIX 协议消息的最有效方法是什么?

    我碰到这个非常相似的问题 https stackoverflow com questions 2311205 the best way to parse a fix message但该问题被标记为 QuickFIX 与我的问题无关 并且大多
  • Cookie 过期时间格式

    我从谷歌浏览器的 Cookies 文件和其中的一列创建了数据库cookies表是expires utc 该列的格式类似于 13169399213145330 这更像是unix时间 但是当我尝试使用 unix 时间转换器时 它给出了错误的值
  • 替换javascript中字符串中的多个字符

    我得到了这段不错的代码 但我不知道为什么不起作用 出于兼容性目的 它应该获取文本输入的值并用 HTML 代码替换每个给定的国家字符 但是 当我单击按钮时 该函数返回字符串而不进行任何更改 任何想法 jsfiddle http jsfiddl
  • 在同一服务器上的 2 个子域中安装 2 个 WordPress 时共享用户

    我有 2 个 WordPress 网站 位于 2 个不同的子域中 例如test1 abc com and test2 abc com 这两个网站都激活了 wp require 插件 只有登录用户才能看到该网站 我们想要创建一个系统 如果用户
  • Kohana_Exception [ 0 ]:需要有效的 cookie salt。请设置 Cookie::$salt

    我正在学习本教程 http kowsercse com 2011 09 04 kohana tutorial beginners http kowsercse com 2011 09 04 kohana tutorial beginners
  • Phonegap 上基于 Cookie 的身份验证

    我面临基于phonegap cookie的身份验证的问题 在我强制iPhone关闭我的应用程序 双击物理按钮并关闭 后 我丢失了与服务器建立的cookie 我怎样才能避免它 有什么配置吗 或者有替代方法吗 当我第一次运行它时它工作正常 当我
  • 在 Express 中设置客户端可访问 Cookie

    我正在开发一个使用 Express 和 SocketIO 的 Node 应用程序 我想在我的 Express 控制器中设置一个 cookie 然后可以从我的客户端 Javascript 代码访问该 cookie 我尝试的一切似乎都不起作用
  • 对于跨域 XHR 丢弃 cookie 不是更简单吗?

    在进行网络开发时 我一直在与奇怪的限制作斗争 其中之一是 AJAX 请求的同源限制 我问自己 在创建请求时丢弃 cookie 而不是阻止对跨域资源的请求是否会更简单 以避免滥用 AJAX 请求的身份验证凭据 浏览器会话 Cookie 是一种
  • Magento 外部登录不会创建会话 cookie

    我正在尝试从外部站点替换 Magento 的相当笨拙的 ajax 登录 该网站使用 Magento 作为商店 站点和 magento 商店都有自己的登录信息 因此当用户登录时 两者同步非常重要 这是通过每次页面重新加载时进行 ajax 调用
  • 具有该名称的查询已存在

    所以我想使用 Excel VBA 创建雅虎财经历史数据 csv 下载 的自动查询 我设置了一个函数 以便 Excel 会自动查询股票代码及其开始日期和结束日期 分别为 K1 K2 K3 这是代码 Sub YFIN get YFIN get
  • Android WebView / CookieSyncManager 中会话 cookie 的生命周期

    我有一个 Android 应用程序 它通过 WebView 和 HttpClient 向我的网络服务器发出请求 我使用 CookieSyncManager 在两者之间同步 cookie 到目前为止 一切都很好 当我的应用程序启动时 在 on
  • 从浏览器中删除cookie?

    有什么方法可以指示网络浏览器完全delete一个人的cookie是用PHP设置的吗 我不想expiry或者等待浏览器closed 对于删除 我的意思是实际上不再将其列在 cookie 列表中 尝试这样删除所有 cookie foreach
  • 在 Safari 上,通过重定向发送时不会保存 cookie

    我已经实现了一个 OAuth2 客户端 其中第一步是将用户发送到相关的第 3 方 本例中为 facebook 我为他们设置了一个状态 cookie 当他们从 facebook 返回时 我验证该状态 cookie 在 Chrome 中 一切都
  • 设计不能很好地处理 RoR3 应用程序上的多个子域

    我看到了很多关于这个主题的问题 但其中很多都有相互矛盾的信息 并且由于某种原因它对我不起作用 I have 顶级域名 即 lvh me 开发 每个用户都有子域 即 userdomain lvh me 登录表单位于顶级域 lvh me I w
  • 如何设置 php cookie 的过期时间以及如果 cookie 存在如何将用户重定向到另一个页面 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望当用户来到我的页面时index php 它应该创建一个带有过期时间的 cookie 如果用户在 5 分钟内再次尝试访问该页面 他应该
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 使用 servicestack 如何防止 cookie 添加到响应中?

    我可以在事后删除cookie 方法如下 public override void Configure Funq Container container ResponseFilters Add req res dto gt HttpListe
  • Yii2 - 错误请求 (#400) |前端和后端cookie

    仅当我打开时才会出现此问题frontend and backend在相同的browser 设想 与后端交互 gt 切换选项卡 gt 与前端交互 gt 切换选项卡返回 gt 与后端交互 gt 错误请求 400 Cookie 后端 identi
  • 如何在 IE8 中为两个字母的域设置 cookie?

    因为区分短域名和 TLD 并非易事 微软维护一个列表 http blogs msdn com b ieinternals archive 2009 09 19 private domain names and public suffixes
  • ANDROID:Webview 和 httpclient 之间共享会话

    我的 WebView 中实际上有一个记录的会话 但我也使用 httpclient 从网络发送和获取数据 我在互联网上看到不可能获取WebView的内容 所以我需要使用我的httpclient从Web服务获取数据 问题是这个Web服务使用会话

随机推荐

  • 在 R 中有效地插值网格中的值

    我有一个按位置排列的海洋深度数据网格 并且正在尝试为选定的 GPS 点插入深度值 我们一直在使用 RSAGA pick from points 它对于小数据集效果很好 require RSAGA depthdata lt cbind dat
  • 如何从 COCO 数据集创建掩模图像?

    所以我一直在使用这段代码 我正在尝试从 COCO 数据集中生成图像的原始蒙版 dataDir G dataType train2014 annFile annotations instances json format dataDir da
  • Java - 使用具体类型覆盖对象类型参数

    EDIT 我将把这个作为一个例子 请阅读评论以获取更多信息 但一般来说 不要使用此设计 这不好 我搜索答案有一段时间了 但找不到任何真正具体的说法 不 你不能 因为 或者是的 你可以 那就是你这样做的方式 所以问题是 我可以创建一个定义对象
  • 将 PHP 变量传递到 jQuery 函数

    我正在尝试为我的网站实现 jQuery Flare 视频插件 有一个下拉菜单 用户必须从中选择年份 当单击提交按钮时 视频将显示在屏幕上 我有一个数据库 可以从数据库中获取视频的路径 即 row videoName 我的问题是如何在 jQu
  • 将手势识别器/操作方法附加到视图会违反模型视图控制器吗?

    想问问大家对此的看法 我有一个 uiimageview 子类 在它的初始化程序中 我向 imageview 添加了一些手势识别器 并且还在类中包含了手势识别器委托方法 我的问题是 这是否违反模型视图控制器 所有与控制视图有关的代码都应该在视
  • Subversion 中的单个文件合并

    我正在使用 Subversion 1 5 并且在一个分支中有一个文件 我想将其合并到另一个分支中 当我做一个svn merge http path to file我收到一个错误 无法用 替换目录 这是否意味着 Subversion 无法做到
  • 如何将 document.getElementById 值转换为整数变量,而不是字符串?

    我想传递一个从 html 对象获得的值 将该值转换为整数 以便我可以在输出它之前对其进行算术运算 正如我现在的代码所示 它只是将它们像字符串一样添加起来 因此 值 5 修正值 100 最终等于 5100 而不是 105 这是我的表单代码
  • 实体框架 - 不同数据上下文中的“导航属性”?

    请注意 有人问了类似的问题 但我觉得没有得到回答 Entity Framework Code First 不同上下文 数据库之间的导航属性 https stackoverflow com questions 14340830 entity
  • 对象序列化__sleep

    php 手册指出 它可以清理物体并且是 应该返回一个数组 该对象的所有变量的名称 应该将其序列化 我的理解是 如果一个人上了一堂课 像这样 它只会序列化对象和属性
  • 如何设置androidcamera2预览和拍摄尺寸?

    我正在使用一个SurfaceView显示我捕获的预览 我想使用 width 1080 height 1920 进行预览 在哪里可以设置预览的大小 我用谷歌搜索答案 但它们都是针对相机版本一的 我正在使用 android hardware c
  • 使用c#备份和恢复Azure sql数据库

    我想将 Azure sql 数据库备份到本地系统 然后在 C 中将该备份恢复到 Azure sql 数据库 任何人都可以帮助我吗 可以这样做吗 Azure SQL 数据库不支持按需创建 bak 文件 Azure SQL 数据库自动备份所有数
  • 如何仅在一个事务中禁用 PostgreSQL 触发器?

    我需要在事务中临时禁用一个 PostgreSQL 触发器 但不需要硬锁定表 有人知道这是否可能吗 像这样的事情 无需锁定表并禁用此事务之外的触发器 BEGIN TRANSACTION ALTER TABLE foo DISABLE TRIG
  • 在 Perl 中处理美元计算的最佳技术是什么?

    在 Perl 中处理美元计算的最佳技术是什么 特别是 以下需要工作 balance 10 payment balance 3 Each payment should be 3 33 How best to round amount bala
  • C#:“Pretty”类型名称函数?

    对于泛型类型 System Type 类的名称属性会返回一个奇怪的结果 有没有办法以更接近我指定的方式获取类型名称 例子 typeof List
  • 在 Swift 上委托 Objective-C 协议

    我正在使用 Swift 语言在 iOS 上实现 UDP 侦听器 为此 我正在转述CocoaAsyncSocket https github com robbiehanson CocoaAsyncSocket项目 我成功地使用 Bridgin
  • 在 C++ 中使用 pthread

    我在用pthread h in a cc文件 当我尝试使用时pthread exit 0 or pthread join mythrds yy NULL 它说 cc text 0x3e undefined reference to pthr
  • 无法使用 Server.MapPath

    我必须做什么才能做到Server MapPath work I have using System Web 还有什么 当我打字时Server没有快速结果选项 智能感知 Server 有什么帮助吗 你可以尝试使用这个 System Web H
  • 如何在 Objective-C 中对 URL 进行编码或解码

    有没有类似的东西 NSString URLencode NSString someString NSString URLdecode NSString someString 如果可以 如何实施 请注意投反对票的人 这不是一个简单的问题 我需
  • Code-golf:将乘法表输出到控制台

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我最近向一位从事工作经验的学生推荐了一篇有关将乘法表转储到控制台的文章 它使用嵌套的 for
  • 雅虎财经历史数据下载网址无效

    我使用以下网址从雅虎财经获取历史数据 从 2017 年 5 月 16 日起 该网址已失效 好像他们已经更改了网址 新网址是 在上面更改的 URL 中有一个会话 cookie 它是碎屑 有什么想法如何以编程方式获取此cookie 在JAVA中