历史雅虎财经 API 再次出现在弗里茨身上?

2024-01-10

多年来我一直成功地使用雅虎财经 API cookie/crumb 技术来获取历史股票报价。 2022年4月28日,它坏了,过度的词汇练习也未能修复它。

该技术是查找难以辨认的股票代码,因为返回的 cookie 的一部分可用于获取有关历史 Yahoo API 的连续使用的真实历史数据。我已经尝试过使用难以辨认和合法的股票符号。我使用的是 Excel 2019 VBA,调试似乎挂在“.waitForResponse (10)”指令上。它是循环的一部分,并且挂在第一个实例上。代码如下所示。它成功在 ws1.S10 上写入零,但在“Next Cook”指令之后无法执行任何操作。是雅虎再次故意破坏Finance API,还是微软“改进”了Excel?或者,更可能的是,我做了一些愚蠢的事情,比如打开电脑?谢谢!

Sub HistUp()

Dim resultFromYahoo, csv_rows() As String
Dim objRequest
Dim resultArray As Variant
Dim eagle, nColumns, cook, iRows, iCols As Integer
Dim CSV_Fields As Variant
Dim ticker, tickerURL, cookie, crumb As String
Dim HistQuote, HistDiv, DefaultKey As String
Dim Curr, StartPer As String
Dim fox, sheep, bear, elk, wolf, raccoon, snake As Integer
Dim julian, ricky, bubbles As Double
Dim crumbStartPos, crumbEndPos, Lastrow1, Lastrow2 As Long

Set wb = ThisWorkbook
Set ws1 = wb.Worksheets(1)
Set ws2 = wb.Worksheets(2)
Set ws3 = wb.Worksheets(3)
Set ws4 = wb.Worksheets(4)
Set ws5 = wb.Worksheets(5)

Application.EnableEvents = False
Application.DisplayAlerts = False
eagle = ActiveSheet.Index
wb.Worksheets("Warn").Select
wb.Worksheets("Warn").Range("A1").Select
DoEvents

'getCookieCrumb
For cook = 0 To 5  'ask for a valid crumb 6 times
    ws1.Range("S10") = cook
    Set objRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    With objRequest
        .Open "GET", "https://finance.yahoo.com/lookup?s=turpitude", False
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
        .send
        .waitForResponse (10)
        cookie = Split(.getResponseHeader("Set-Cookie"), ";")(0)
        crumbStartPos = InStrRev(.ResponseText, """crumb"":""") + 9
        crumbEndPos = crumbStartPos + 11
        crumb = Mid(.ResponseText, crumbStartPos, crumbEndPos - crumbStartPos)
    End With
    
    If Len(crumb) = 11 Then 'a valid crumb is 11 characters long
        Exit For
    End If
Next cook

我也有同样的问题。看起来雅虎改变了雅虎财经 API。 当我注释掉该行时: cookie = Split(.getResponseHeader("Set-Cookie"), ";")(0) 该代码似乎像以前一样工作。

然后也注释掉 '.setRequestHeader“Cookie”,Cookie 当您发送请求时。我的其余代码:

'CONSTRUCT THE URL:
'interval=1d or 1wk or 1mo, events=dividends or events=history (prices) or events=splits
    WebRequestURL = "https://query1.finance.yahoo.com/v7/finance/download/" & StockSymbol & _
        "?period1=" & UnixStartDate & "&period2=" & UnixEndDate & _
        "&interval=" & UrlInterval & "&events=" & UrlEvents & "&crumb=" & Crumb

'FETCH THE DATA:
    With WebRequest
        .Open "GET", WebRequestURL, False
        '.setRequestHeader "Cookie", Cookie
        .Send
        .waitForResponse (10)
    End With
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

历史雅虎财经 API 再次出现在弗里茨身上? 的相关文章

  • 将范围内的每个值乘以常数,但跳过空白单元格

    我需要一个简单快速的解决方案 用于将范围内的所有值乘以 VBA 代码中的数值 我知道这个解决方案 将整个范围乘以值 https stackoverflow com questions 18990541 multiply entire ran
  • 如何使用 Nodejs 创建 Excel 文件?

    我是一名 Nodejs 程序员 现在我有一个数据表 我想将其保存为 Excel 文件格式 我该怎么做呢 我找到了一些 Node 库 但其中大多数是 Excel 解析器而不是 Excel 编写器 我使用的是 Linux 服务器 因此需要一些可
  • VBA Shell 并等待退出代码

    我正在打包一个办公应用程序 VBA 它调用 C 控制台应用程序来执行应用程序 大型模拟程序 的一些繁重工作 我希望能够让 VBA 应用程序等待控制台应用程序完成并从控制台应用程序检索退出代码 我已经能够做到前者 但尚未能够从应用程序中检索退
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • Excel 数字缩写格式

    这是我想要完成的任务 Value Display 1 1 11 11 111 111 1111 1 11k 11111 11 11k 111111 111 11k 1111111 1 11M 11111111 11 11M 11111111
  • 如何在Power Query中对N列求和

    我的数据每月都会更新 因此我尝试创建一个强大的查询表 该表将显示我创建的枢转 N 列的总和 但我似乎不知道如何在强大的查询中执行此操作 我目前有这个代码 旋转后 创建要求和的列的列表 添加索引列以限制每行 添加一列 该列对该行的列进行求和
  • 两个日期之间的小时数在 Excel 中不起作用

    根据要求 我提供了一张简化的屏幕截图来说明该问题 如您所见 我减去了两个日期并将其格式化为 h mm ss 为什么这不能提供两个日期之间经过的总小时数 有一个更好的方法吗 下面有一个很好的答案 但我试图弄清楚为什么按照此屏幕截图中所示的方式
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • 检查未绑定控件是否具有值的正确方法

    简单场景 一个表单和一个文本框 未绑定 Text1 If lt gt Text1 Then MsgBox Not Empty End If 上面的代码有效 表达方式 lt gt Text1如果文本框包含字符 则计算结果为 True 无论文本
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • 如何使用 VBA 添加 MS Outlook 提醒事件处理程序

    我想扩展 MS Outlook 以便当弹出日历提醒时 我可以运行一个可以运行外部程序 如批处理脚本 的 VBA 挂钩 就我而言 我想将提醒 转发 到 Linux 桌面 因为我在这两种环境中工作 并且 Windows 桌面并不总是可见 我看到
  • 在 Excel 中使用 VBA 设置图像透明度

    有没有办法使用 VBA 脚本对图像应用一些透明度 我录制了一个 宏 但似乎没有录制艺术效果 我已经找到了如何制作形状 但没有找到图像 这需要几个步骤 将自选图形 如矩形 放置在工作表上 使用以下方法将您的实际图片嵌入矩形中 ShapeRan
  • 如何在 Excel 中对“高”字符进行 HTML 编码或音译?

    在 Excel 中 如何将包含重音字符 大引号等的单元格内容转换为相同字符的 HTML 或音译纯文本版本 我们有一个 XLS 文档 其中包含一些 高 字符 数据已通过数据库连接提取 并且 Excel 似乎正确处理不同代码页中的各个单元格 或
  • 使用 VBScript 在日期字段值上选择错误的数据

    我有一张包含以下数据的表 现在 Excel 共有 36 个任务 每个任务有 4 列 第一个任务 即 Task1 名称将始终从 L 列开始 144 列描述了 36 个任务 现在我们需要按行进行检查 并需要检查 TNStart 开始日期 你们能
  • 如何使用vba复制Excel工作表中的动态范围

    我试图使宏中的范围是动态的 而不指定最后一行x Sheets SheetName Range A2 K1000 Copy在 1000 行中 我想将其更改为动态 因为有时我的数量会更少或更多 尝试这个 Sub Test Dim lRow as
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file
  • 使用 XMLHTTP 进行抓取会在特定类名处引发错误

    我正在尝试使用此代码抓取网站以提取姓名和联系人 Sub Test Dim htmlDoc As Object Dim htmlDoc2 As Object Dim elem As Variant Dim tag As Variant Dim

随机推荐

  • LL 解析器比 LR 解析器有什么优势?

    LL 解析器相对于 LR 解析器有什么优势来保证它们在当今的解析器生成器工具 http en wikipedia org wiki Comparison of parser generators 根据维基百科 http en wikiped
  • 使用 Bluehost 帐户设置 PHPMailer

    我尝试联系 Bluehost 的支持人员 但他们不知道如何设置 我所做的是首先创建我的电子邮件帐户 VPS 帐户 然后获取我的电子邮件设置的所有详细信息 电子邮件设置 邮件服务器用户名 电子邮件受保护 cdn cgi l email pro
  • golang反映值类型的切片

    fmt Println v Kind fmt Println reflect TypeOf v 如何找出切片的反射值的类型 上面的结果是 v Kind slice typeof reflect Value 当我尝试Set如果我创建了错误的切
  • 使用 C# 循环遍历屏幕上给定标签 WP7 的所有按钮

    我正在寻找一种简单的方法来循环浏览屏幕上给定标签的所有按钮 例如 富 我正在使用 WP7 使用 C 我对这个平台很陌生 所以对我要轻松一些 P 谷歌搜索这类事情对我来说也不太有效 我认为我的术语是错误的 所以任何关于这方面的提示也将不胜感激
  • CakePHP 应用程序部署

    我有兴趣了解人们如何部署他们的 CakePHP 应用程序 最近有人联系我做一些自由的 CakePHP 开发 这对我来说是一个在表示层获得一些经验的好机会 在我的 FT 工作中 我在业务层和持久层进行 Java EE 开发 此时我的想法有点混
  • 动态加载控制器和 ng-include

    目前我有一个有侧边栏的应用程序 侧边栏使用以下方式加载不同的html模板ng include基于用户选择执行的操作 这是一个与地图相关的应用程序 例如 如果用户选择 添加航段 按钮 它将加载add leg html使用模板将其放入侧边栏ng
  • Android数据存储在xml中

    我有一个网络平台 用于存储我正在构建的应用程序的数据 Web 平台是使用 Ruby on Rails 构建的 主要应用程序适用于 Android 我很想知道将数据存储在 XML 文件 对于 Android 应用程序 中的任何性能问题 最终
  • Swift:如何在登录视图后显示选项卡栏控制器

    我在这里看到了很多与此类似的帖子 但它们都是关于 Objective C 而我正在用 Swift 开发我的应用程序 正如您从图像中看到的 我有一个登录屏幕视图 并且我正确地实现了登录机制 现在我希望登录成功后 显示选项卡栏控制器 在我的登录
  • 我可以将 tf.map_fn(...) 应用于多个输入/输出吗?

    a tf constant 1 2 3 4 5 6 b tf constant True False dtype tf bool a eval array 1 2 3 4 5 6 dtype int32 b eval array True
  • 无法在 Elasticsearch 中注册快照存储库

    我正在使用 Elasticsearch 1 4 和 ubuntu 12 04 3 LTS 尝试为本地 elasticsearch 创建快照 我参考这个website http www elasticsearch org guide en e
  • TYPO3:如何在后端添加css和JS

    我该如何添加css and javascript后端有文件吗 我想将这些文件用于自定义创建的内容元素以使它们对用户更具吸引力 System TYPO3 v9 Mode 作曲家模式 Target 自定义内容元素 在 TYPO3 v9 中 您必
  • N 个函数调用后的睡眠装饰器 Python/Selenium

    使用 Python Selenium 我定义了一个休眠装饰器 在 Web 抓取项目的 5 个函数调用 对服务器的请求 之间等待 20 秒 这样我就不会压垮他们的服务器 查看终端输出 它似乎按照我的预期工作 但是当我在创建输出文件 Hitac
  • 输入类型时间,有24小时以上选项

    我想使用时间输入来允许用户在视频中选择精确的时间 在一些很长的视频上 我不希望输入将选择限制为最大 23 59 59 是否可以选择例如 46 59 10 IE 保持分钟和秒部分的原始行为 但允许小时超过 23 我尝试设置max 10000
  • 如何在 iOS 中使用 Swift 正确检索加速度计数据?

    我正在尝试记录 iPhone 加速度计 我自己的 iPhone 5s 的数据 并使用以下命令在屏幕上为该数据设置标签String format 2f data 其中 data 是我要记录的特定轴的值 为此 我设置了 CMMotionMana
  • Python 类继承问题

    我正在研究 Python 类继承并遇到了一个问题 继承的 init 如果从子类 下面的代码 调用 则不会执行我从 Active Python 得到的结果是 gt gt gt start Tom Sneed Sue Ann Traceback
  • GCM - 收到错误消息“处理请求时出现未知错误。请重试。”创建新项目时

    我们正在尝试使用 Google Developer Console 获取 API 密钥和发件人 IDhttps developers google com mobile add https developers google com mob
  • 将 Sublime Text 与 Tomcat 集成

    在工作中 我们开发 Java 应用程序并使用 Eclipse 作为一名前端开发人员 我想完全切换到 Sublime 但它缺少 Eclipse 的一个功能 没有它我就无法工作 开发时 我必须使用 Maven 构建项目并将其发布到 Tomcat
  • 'b' aria-label='fn 类型的 ml 函数:'a -> 'b'> fn 类型的 ml 函数:'a -> 'b

    功能 fn a gt b 现在 有没有可以定义并具有这种类型的函数 标准机器学习中该函数签名有两种可能的实现 一种使用异常 另一种使用递归 val raises a gt b fn a gt raise Fail some error In
  • “DataOutputStream”和“ObjectOutputStream”之间的区别

    我是一名初学者程序员 正在关注这个Java教程 http docs oracle com javase tutorial In the 基本输入 输出 http docs oracle com javase tutorial essenti
  • 历史雅虎财经 API 再次出现在弗里茨身上?

    多年来我一直成功地使用雅虎财经 API cookie crumb 技术来获取历史股票报价 2022年4月28日 它坏了 过度的词汇练习也未能修复它 该技术是查找难以辨认的股票代码 因为返回的 cookie 的一部分可用于获取有关历史 Yah