如何使用 UrlFetchApp 编写 Google Apps 脚本以在 FinViz.com 中提取部分表格数据?

新手

我喜欢学习如何编写 Google Apps 脚本以将 FinViz.com 中的部分表格数据导入 Google 表格,但使用 UrlFetchApp。我曾经使用过 IMPORTHTML。如果只搜索几个股票贴纸,它就可以很好地工作。但是,如果我为许多股票贴纸循环该函数,尽管 FinViz 中提供了此类数据,但我仍面临大量空导入。我从谷歌搜索中看到 UrlFetchApp 是要走的路。任何人都可以帮助使用 UrlFetchApp 编写脚本吗?举一个简单的例子,我在 Google 工作表的 A 列中有一个股票行情列表,并从 FinViz 导入它们的远期市盈率数据,然后将它们写在工作表的 B 列中。我在这里分享一个谷歌表。太感谢了!!

https://docs.google.com/spreadsheets/d/1JmdBKqNVoj2wpJ_st22C8FchgTUss8Edo4q_gMmAgKE/edit?usp=sharing

马修·兰德沃尔夫

在对您提供的网站进行了一些测试并尝试了不同的方法之后,我认为您可以更轻松地简单地检索 HTML 静态网站文本,然后在网站上进行 Javascript 搜索以返回您要查找的值。我分享的答案中的代码失败了,因为当您尝试使用 XML 解释该数据时,该网站存在一些 HTML 兼容性问题。此外,您感兴趣的表格位于div元素内,因此您需要先访问该div元素,然后再访问该表格。

以下带有不言自明注释的代码返回并记录Forward P/E您提供的网站中值:

function ALTERNATIVE(){
  // Get all the static HTML text of the website
  const res = UrlFetchApp.fetch('https://finviz.com/quote.ashx?t=AAPL', {muteHttpExceptions: true}).getContentText();
  // Find the index of the string of the parameter we are searching for 
  index = res.search("Forward P/E");
  // create a substring to only get the right number values ignoring all the HTML tags and classes
  sub = res.substring(index+68,index+73);

  Logger.log(sub);
  return sub;
}

参考

  • UrlFetchApp.fetch()获取 HTTP 响应数据。
  • getContentText()返回以字符串形式编码的 HTTP 响应。
  • Javascript 搜索,返回正则表达式和给定字符串之间第一个匹配项的索引索引,如果未找到匹配项,则返回 -1。
  • Javascript 子字符串,它返回一个新字符串,该字符串包含从第一个索引开始到第二个索引结束的给定字符串的指定部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Google Apps Script / URLFetchApp并使用返回的数据

UrlFetchApp 服务器使用 Google Apps 脚本锁定特定电子表格

无法在Google Apps脚本中解析来自UrlFetchApp的数据

使用 Google Apps 脚本,如何替换 Google 表格模板中的文本以制作新表格?

Google Apps脚本:UrlFetchApp发布文件

使用Apps脚本以Excel格式将Google表格导出到Google云端硬盘

搜索值,然后在Google表格中查找并使用Google Apps脚本以html显示行值

如何在Google Apps脚本中使用UrlFetchApp更新Github存储库?

如何在Google Apps脚本中使用UrlFetchApp发出Drive API批处理请求

如何使用UrlFetchApp.fetch(url,params)在Google Apps脚本中正确查询Facebook Graph API?

想在 Google 表格上编写脚本以删除某些行

如何在Google Apps脚本中将API密钥添加到UrlFetchApp

在Google Apps脚本中将UrlFetchApp与触发器配合使用是否有限制

创建 UrlFetchApp 脚本以替换 Google Sheet importHTML 函数

带有 finviz 的 Google 表格

用于从 Gmail 中提取数据并填写 Google 表格中匹配行的 Google Apps 脚本

用于从 Gmail 中提取数据并在 Google 表格中填充多个匹配行的 Google Apps 脚本

如何创建 GOOGLE API 脚本以按小时提取数据?

如何从finviz.com获取和分析历史市场数据

如何使用 Google Apps 脚本边界数据?

使用Google Apps脚本从Google文档中提取文本

使用基本身份验证的Google Apps脚本中的UrlFetchApp.fetch出现意外错误

尝试在 Google Apps 脚本中编写 IF/AND 语句

编写应用程序脚本以复制并粘贴到隐藏的Google表格中

如何使用Google Apps脚本清除Google表格中的列?

如何编写脚本以启动Thinkorswim

使用Google Apps脚本从Gmail邮件中提取数字

如何编写脚本以启用 Google 文档(谷歌应用程序)中的链接?

如何使用Google脚本从Google表格中提取特定列?