【问题标题】:Using Google Apps Script to scrape Dynamic Web Pages使用 Google Apps 脚本抓取动态网页
【发布时间】:2012-11-27 02:56:48
【问题描述】:

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

可以在here 中找到一个示例,该示例显示了广播电台最后播放的曲目。但是,这些曲目是使用 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-script web-scraping urlfetch


    【解决方案1】:

    一般不会,不会。如果您可以对它正在做的事情进行逆向工程,您也许可以执行相同的 JavaScript 调用,但如果它需要任何服务器协调,则可能性不大。理论上,可以在 Google Apps Script(如 env-js)中运行 JavaScript 浏览器实现,可以做到这一点,但在实践中,我认为即使不是不可能,也是非常困难的。

    【讨论】:

    • 谢谢。 “JavaScript 浏览器实现”听起来像我这样的初学者不应该尝试......
    • 是的,我绝对不会推荐它。
    猜你喜欢
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多