使用Google Apps脚本抓取动态页面

电脑杂谈  发布时间:2020-05-25 19:03:51  来源:网络整理

动态网页使用的脚本_易语言 网页 执行脚本_网页上脚本倒计时代码

我想使用Google Script从其他网站上读取某个项目的数据. 问题页面为Dyanmic;它们包含在初始页面加载后通过对服务器的JavaScript调用加载的内容. 通常,对于某些静态内容,这可以正常工作,但是我对JavaScript和Google Apps脚本是陌生的,因此,如果通过JavaScript(例如,通过AJAX)异步加载内容,则不知道如何获取内容.

在这里可以找到一个示例动态网页使用的脚本,该示例显示了广播电台播放的最后曲目. 但是,这些曲目是使用JavaScript加载的,而不是包含我得到的字符串的表

<td class="row2"><span id="track_2">&nbsp;</span></td>

当我使用时:

网页上脚本倒计时代码_易语言 网页 执行脚本_动态网页使用的脚本

UrlFetchApp.fetch(url).getContentText();

但是,如果我将HTML保存在浏览器中,则会在其中找到正确的数据字符串:

<td class="row2" id="track_2">15:12 Will Smith - Men In Black</td>
                     ^^^^^^^  ^^^^^ ^^^^^^^^^^   ^^^^^^^^^^^^

是否可以使用Google Apps脚本执行此操作?

易语言 网页 执行脚本_动态网页使用的脚本_网页上脚本倒计时代码

解决方案

一般来说,不是. 如果您可以对它的工作进行逆向工程,那么您也许可以执行相同的JavaScript调用,但是如果需要任何服务器协调,则可能会遇到不利的情况. 从理论上讲,可以在Google Apps脚本中运行JavaScript浏览器实现(例如env-js),但可以做到这一点,但实际上,我认为要使它运行起来将非常困难.

我想使用Google脚本读取其他网站上某些项目的数据. 有问题的页面是Dyanmic;它们包含在初始页面加载后通过JavaScript调用服务器加载的内容. 通常,此方法适用于静态内容,但我对JavaScript和Google Apps脚本不熟悉,因此我不知道如何通过JavaScript(例如,通过AJAX)异步加载内容.

在收音机上播放的最后一首曲目中可以找到一个示例. 但是,这些曲目是使用JavaScript加载的动态网页使用的脚本,而不是包含我得到的字符串的表

动态网页使用的脚本_易语言 网页 执行脚本_网页上脚本倒计时代码

 < td class =row2 >< span id =track_2>& nbsp;< / span>< / td> 

当我使用时:

  UrlFetchApp.fetch(URL).getContentText(); 

但是,如果我将HTML保存在浏览器中,则存在正确的数据字符串:

动态网页使用的脚本_易语言 网页 执行脚本_网页上脚本倒计时代码

15: 12威尔·史密斯·曼(Will Smith-Man in Black)

^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^

可以使用Google Apps脚本执行此操作吗?

解决方案

不,不. 如果可以对其反向工程进行反向工程,则可以执行相同的JavaScript调用,但是如果需要任何服务器协调,则可能会发生这种情况. 从理论上讲,可以在Google Apps脚本中运行JavaScript浏览器实现(例如env-js),但实际上,我认为这是很困难的,即使不是没有可能.

本文地址: IT公司»使用Google Apps脚本抓取动态页面


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-221950-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...