
我想使用Google Script从其他网站上读取某个项目的数据. 问题页面为Dyanmic;它们包含在初始页面加载后通过对服务器的JavaScript调用加载的内容. 通常,对于某些静态内容,这可以正常工作,但是我对JavaScript和Google Apps脚本是陌生的,因此,如果通过JavaScript(例如,通过AJAX)异步加载内容,则不知道如何获取内容.
在这里可以找到一个示例动态网页使用的脚本,该示例显示了广播电台播放的最后曲目. 但是,这些曲目是使用JavaScript加载的,而不是包含我得到的字符串的表
<td class="row2"><span id="track_2"> </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保存在浏览器中,则存在正确的数据字符串:

^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^
可以使用Google Apps脚本执行此操作吗?
解决方案
不,不. 如果可以对其反向工程进行反向工程,则可以执行相同的JavaScript调用,但是如果需要任何服务器协调,则可能会发生这种情况. 从理论上讲,可以在Google Apps脚本中运行JavaScript浏览器实现(例如env-js),但实际上,我认为这是很困难的,即使不是没有可能.
本文地址: IT公司»使用Google Apps脚本抓取动态页面
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-221950-1.html
烊烊加油
有道理
虽然现在美国也是这么做的