nodejs抓取动态网页(GoogleScripttoreaddataaprojectto)
优采云 发布时间: 2022-01-20 17:15nodejs抓取动态网页(GoogleScripttoreaddataaprojectto)
问题描述
我想使用 Google 脚本从其他 网站 读取项目的一些数据。问题中的页面是动态的;它们收录在初始页面加载后由服务器通过 JavaScript 调用加载的内容。通常,对于静态内容,这可以正常工作,但我是 JavaScript 和 Google Apps 脚本的新手,所以不知道如何通过 JavaScript(例如通过 AJAX)异步加载内容。
我想为使用 Google Script 的项目从其他网站读取一些数据。有问题的页面是动态的;它们收录在初始页面加载后通过对服务器的 JavaScript 调用加载的内容。通常,对于一些静态内容,这可以正常工作,但我是 JavaScript 和 Google Apps 脚本的新手,因此如果通过 JavaScript(例如通过 AJAX)异步加载内容,我不知道如何获取内容。
可以在此处找到一个示例,该示例显示了广播电台上播放的最后一首曲目。但是,曲目是使用 JavaScript 加载的,而不是带有我得到的字符串的表格
可以在此处找到一个示例,该示例显示了广播电台最后播放的曲目。但是,这些曲目是使用 JavaScript 加载的,而不是收录我得到的字符串的表
当我使用时:
UrlFetchApp.fetch(url).getContentText();
如果我将 HTML 保存在浏览器中,则存在正确的数据字符串:
如果我将 HTML 保存在浏览器中,那么正确的数据字符串就在那里:
15:12 Will Smith - Men In Black
^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^
有没有办法使用 Google Apps 脚本来做到这一点?
有没有办法使用 Google Apps 脚本来做到这一点?
推荐答案
一般不会,不会。如果您可以对它的功能进行逆向工程,您可能可以执行相同的 JavaScript 调用,但如果它需要任何服务器协调,则不太可能。理论上,它可以在 Running a JavaScript browser implementation in Google Apps Script (like env-js) 中完成,这可以做到,但在实践中,我认为即使不是不可能,也很难让它工作。
一般不会,不会。如果您可以对它正在做的事情进行逆向工程,您也许可以执行相同的 JavaScript 调用,但如果它需要任何服务器协调,则可能性不大。理论上,可以在 Google Apps Script(如 env-js)中运行 JavaScript 浏览器实现,这样可以做到这一点,但在实践中,我认为即使不是不可能,也是非常困难的。