繁体   English   中英

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

[英]Using Google Apps Script to scrape Dynamic Web Pages

我想从其他网站读取一些数据用于使用Google Script的项目。 有问题的页面是动态的; 它们包含在初始页面加载后通过 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 脚本(如 env-js)中运行一个 JavaScript 浏览器实现,它可以做到这一点,但在实践中,我认为即使不是不可能,也是非常困难的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM