使用 Google API 和 JSON 检索股票信息

2024-01-03

我正在开发一个 dB,每天多次从 Google 财经中提取股票数据。起初我只是提取数据并保存为 CSV 文件,如下所示

Public Sub GrabQuotes()



Dim oXMLHTTP
Dim oStream


Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")


oXMLHTTP.Open "GET", "http://finance.google.com/finance/info?client=ig&q=CVX,XOM,HP,SLB,PBA,ATR,NVZMY,MON,MMM,CNI,EMR,UTX,ROK,XYL,IPGP,DE,JCI,TGT,HD,CVS,NSRGY,PG,PEP,STKL,UNFI,VZ,NGG,POR,ABT,JNJ,NVS,PRGO,RHHBY,ALNY,MDT,ILMN,ISIS,LH,NVO,AFL,CYN,AAPL,ADP,CSCO,EMC,FISV,GOOGL,MA,XLNX,QCOM,INTC,MSFT,NXPI,ORCL", False
oXMLHTTP.Send

If oXMLHTTP.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write oXMLHTTP.responseBody
    oStream.SaveToFile "\\HBFSBOS\APPS\TDID\StockQuotes\All.csv", 2
    oStream.Close
End If


End Sub

该脚本运行顺利。然后我发现检索到的数据是 JSON 格式。我发现了一个很棒的 JSON 格式化工具https://json-csv.com/。 https://json-csv.com/

添加快捷方式并更新我的代码后,它看起来像这样:

Public Sub GrabQuotes()



Dim oXMLHTTP
Dim oStream


Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")

'Site address has to be encoded. Go to "http://meyerweb.com/eric/tools/dencoder/" to encode/decode


oXMLHTTP.Open "GET", "json-csv.com/?u=http%3A%2F%2Ffinance.google.com%2Ffinance%2Finfo%3Fclient%3Dig%26q%3DCVX%2CXOM%2CHP%2CSLB%2CPBA%2CATR%2CNVZMY%2CMON%2CMMM%2CCNI%2CEMR%2CUTX%2CROK%2CXYL%2CIPGP%2CDE%2CJCI%2CTGT%2CHD%2CCVS%2CNSRGY%2CPG%2CPEP%2CSTKL%2CUNFI%2CVZ%2CNGG%2CPOR%2CABT%2CJNJ%2CNVS%2CPRGO%2CRHHBY%2CALNY%2CMDT%2CILMN%2CISIS%2CLH%2CNVO%2CAFL%2CCYN%2CAAPL%2CADP%2CCSCO%2CEMC%2CFISV%2CGOOGL%2CMA%2CXLNX%2CQCOM%2CINTC%2CMSFT%2CNXPI%2CORCL", False
oXMLHTTP.Send

If oXMLHTTP.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write oXMLHTTP.responseBody
    oStream.SaveToFile "\\HBFSBOS\APPS\TDID\StockQuotes\All.csv", 2
    oStream.Close
End If


End Sub

我现在收到错误“运行时错误‘-2147467259 (80004005)’:对象‘IXMLHTTPRequest’的方法‘open’失败”。如果我将请求粘贴到 Chrome 中,也可以正常工作。我该如何改变它才能使其正常工作?我对 JSON 和 XMLHTTP 很陌生,因此我们将不胜感激。


这是VBA。浏览器会自动添加 https://。实际上我决定尝试不同的角度并专注于获取数据。通过使用以下效果很好的方法。

Option Compare Database

Public Sub RunJSON()

Dim browser As Object 'defines browser as object


Set browser = CreateObject("InternetExplorer.Application") 'creates the object
browser.navigate "json-csv.com/?u=http%3A%2F%2Ffinance.google.com%2Ffinance%2Finfo%3Fclient%3Dig%26q%3DCVX%2CXOM%2CHP%2CSLB%2CPBA%2CATR%2CNVZMY%2CMON%2CMMM%2CCNI%2CEMR%2CUTX%2CROK%2CXYL%2CIPGP%2CDE%2CJCI%2CTGT%2CHD%2CCVS%2CNSRGY%2CPG%2CPEP%2CSTKL%2CUNFI%2CVZ%2CNGG%2CPOR%2CABT%2CJNJ%2CNVS%2CPRGO%2CRHHBY%2CALNY%2CMDT%2CILMN%2CISIS%2CLH%2CNVO%2CAFL%2CCYN%2CAAPL%2CADP%2CCSCO%2CEMC%2CFISV%2CGOOGL%2CMA%2CXLNX%2CQCOM%2CINTC%2CMSFT%2CNXPI%2CORCL"
Set browser = Nothing 'nullifies the object

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Google API 和 JSON 检索股票信息 的相关文章

随机推荐

  • 检测 iOS UIDevice 方向

    我需要检测设备何时处于纵向 以便我可以发出特殊的动画 但我不希望我的视图自动旋转 当设备旋转为纵向时 如何覆盖自动旋转的视图 我的应用程序只需要以横向显示它的视图 但如果我希望能够检测到纵向旋转 我似乎也需要支持纵向 尝试在应用程序加载或视
  • 将 JSONB 转换为缩小(无空格)字符串

    如果我转换一个文本值 例如 a b 到 JSONB 然后返回到文本空格 之间添加 和 psql gt select a b jsonb text text a b 1 row 如何将文本转换为 jsonb 以便我可以使用 jsonb 函数
  • C#中如何检查字符串的最后一个字符?

    我想在 C 中找到字符串的最后一个字符 然后将其放入if陈述 然后 如果最后一个字符等于 A B 或 C 则应执行某个操作 C 中如何获取字符串的最后一个字符 Use the EndsWith 字符串方法 if string EndsWit
  • PHP:“即时”向电子邮件添加附件?

    我刚刚让PHP的邮件功能在我的测试环境中正常工作 我有一个输出许多字符串的 PHP 应用程序 将这些字符串转换为附件真是太好了 TXT 文件 在电子邮件中 无需先将它们存储在磁盘上并重新读回 这在 PHP 中可能吗 是的 这是可能的 您只需
  • 包含任何内容 ([_]) 和任何内容 (_) 的列表有什么区别

    我试图完成以下任务 如果我有两个列表 L1 和 L2 我希望结果 R 是 L1 中 L2 的 减法 Example L1 1 2 3 L2 2 3 4 5 R 1 我能够做到这一点 但我不知道两者之间有什么区别 and 如果我这样做 dif
  • 在 R 中的点阵图例图中包含线和点

    大家好 我正在处理格子图 一切正常 但我在图例方面遇到了一些麻烦 我在用xyplot 而且效果非常棒 我的数据框是NM I add dput 最后部分的版本 AMes A2009 A2010 A2011 A2012 A2013 A2014
  • 开关参数和powershell.exe -File参数

    据微软称 在极少数情况下 您可能需要为开关参数提供布尔值 要为 File 参数值中的开关参数提供布尔值 请将参数名称和值括在大括号中 如下所示 File Get Script ps1 All False 我有一个简单的脚本 CmdletBi
  • 如何使用 dask 和特定 AWS 配置文件从 s3 读取镶木地板文件

    如何使用 s3 读取 parquet 文件dask以及特定的 AWS 配置文件 存储在凭证文件中 达斯克用途s3fs它使用boto 这是我尝试过的 gt gt gt import os gt gt gt import s3fs gt gt
  • CakePHP - $hasMany 模型中的订单被忽略

    我有一个具有 hasMany 属性的模型 如果我只有以下内容 var hasMany OtherModel 在 OtherModel 扩展 AppModel 类中 我有以下内容 var order colour id DESC 该顺序被忽略
  • 一个域名有可能有多个对应的IP地址吗?

    例如 当我们连接到www example com 首先我们尝试连接到192 0 2 1 如果第一次尝试失败 那么我们会尝试192 0 2 222 是否可以 一个域名可以注册多个备份IP吗 这是循环 DNS 这是一个非常简单的负载平衡解决方案
  • 是否可以使用 BeautifulSoup 只获取没有类或 id 的标签?

    我有数千个 HTML 网站 我正在尝试过滤这些网站中的文本 我正在用漂亮的汤来做这个 get text 从这些网站给我提供了很多不必要的信息 因此我写了一个循环 l for line in text5 soup bs line html p
  • Excel 宏一次将一行连接到文件末尾

    我需要一个 Excel 宏来连接每行的七列数据 直到到达数据末尾 例如 如果我有这样的公式 A1 B1 C1 D1 E1 F1 G1 如何编写宏 以便它按这样的顺序递增到文件末尾的每一行 A1 B1 C1 D1 E1 F1 G1 A2 B2
  • 为什么 Swift 迭代器比数组构建慢?

    这有点与这个问题 https stackoverflow com questions 40669193 explain swift iterators 40672317 40672317 其中假设使用生成器 迭代器 遍历嵌套数组对于迭代元素
  • 创建的参数化查询未显示在数据源 Visual Studio 10 和访问中

    我正在尝试复制northwind数据库但是当我创建参数查询时vw CustomerOrderYear 查询未显示在我的数据源中 我不知道我错过了什么 我的参数查询vw CustomerOrderYear is PARAMETERS Orde
  • 将 Sharepoint TimeZone 信息转换为 Java TimeZone

    我希望将 Sharepoint TimeZone 信息转换为 Java TimeZone 对象 以便与使用 Sharepoint REST API 的应用程序一起使用 据我所知 Sharepoint 以 UTC 格式存储所有时间戳 但是在使
  • 函数必需和非必需变量

    在 PHP 中 我们可以在函数中指定变量的默认值 例如 function myFunction myDefaultVariable myOtherVariable myCheckVariable basic so yeah myDefaul
  • java中的图像比较[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在做我的大学项目 其中需要我进行指纹比较 这可以通过比较两个图像并匹配它们的像素相似性来完成 根据
  • 在 C# 中使用 fo-dicom 操作和转换 CT 图像的像素数据

    对于一些测试 我试图操纵PixelData以 dicom 格式存储的 CT 图像的元素 并将其写回到文件中橡树迪康研究员在 C 中 经过一番研究 我发现我想要处理的矩阵位于Buffer of PixelData存储在一个byte 大批 所以
  • 有没有办法通过先前定义的 Sequelize 模型获取属性 // 关联?

    我需要通过之前定义的 Sequelize 模型获取一些数据 我需要的 attributes list attribute name attribute type INTEGER STRING was it generated by asso
  • 使用 Google API 和 JSON 检索股票信息

    我正在开发一个 dB 每天多次从 Google 财经中提取股票数据 起初我只是提取数据并保存为 CSV 文件 如下所示 Public Sub GrabQuotes Dim oXMLHTTP Dim oStream Set oXMLHTTP