在谷歌应用引擎上模拟浏览器



我想在谷歌应用引擎中使用硒或风车来抓取一个充满JS的网站。我知道风车是用python和javascript编写的。

这可能吗?如果是,如何插入库?
如果没有,您能否解释原因并提供替代方案?

谢谢。

更新

我又搜索了一下,发现刮擦是纯蟒蛇。
这样行得通吗?它处理javascript吗?

任何python"抓取"库都不太可能在appengine上为您解释javascript,因为它可能需要某种C扩展(例如绑定到spidermonkey或v8),这将反对GAE沙盒。

但是,如果你冒险去Java方面,你可能会有更多的运气。我知道你可以让Rhino在AppEngine上运行,在env的帮助下.js你可以模拟DOM,一个快速的谷歌显示了一堆Java的抓取工具。这只是将它们捆绑在一起的问题。

HtmlUnit看起来它试图做到这一点,但目前尚不清楚它目前是否对appengine友好,因为它似乎是线程化的。

Selenium和Windmill(现在被认为是非维护的)都是真实浏览器的控制器。通常,它们会生成一个真正的浏览器(例如Firefox)作为子进程并对其进行控制。我不认为你可以在AppEngine中做到这一点。据我所知,最接近纯代码浏览器的是htmlunit,就是Java。据我所知,Python没有等价物。

我相信

Selenium和Windmill都只允许你控制浏览器,而不是模拟浏览器。他们希望在桌面环境中运行并驱动真正的浏览器,这是您在App Engine中无法做到的。

您可以使用 URL Fetch API 和 HTML 解析器(如 BeautifulSoup)来处理来自 App Engine 的页面抓取。

相关内容

  • 没有找到相关文章

最新更新