我正在尝试通过REST API构建Python / JS Web服务。
我的方案如下:
我检查了许多Python托管服务。我不知道他们是否支持Selenium。对于JS库和NodeJS主机也是如此。
基本上,我很困惑。我应该如何使用我的项目并抓取动态数据? Python与Selenium? NodeJS与PhantomJS和Cheerio?
答案 0 :(得分:1)
Selenium(单独)和CheerIO都不会让您能够从第三方网站动态加载数据。
您要搜索的答案是PhantomJs。 使用PhantomJS允许您从第三方网站动态加载数据并使用Javascript与其进行交互,您可以执行诸如向下滚动以请求更多数据,以及在添加新内容时开始报废等操作。
我自己在similar project工作。在从一堆交互中加载所有需要废弃的数据之后,我在通过Javascript和废弃数据与页面交互时抓取数据,然后将所有这些数据保存在XML文件中以便稍后将它们存储在OrientDB数据库中。 在这个项目中我使用了Selenium和PhantomJS驱动程序,但PhantomJS已经是一个NodeJs框架,但是我使用了Python,因为这个项目预计会更大,并且包含更多的数据科学内容。
在您的情况下,如果场景只是抓取数据然后将其检索到远程主机/客户端,那么我建议您使用Node + PhantomJS。