用于Web抓取的Python或基于JS的REST API

时间:2017-06-25 16:40:59

标签: javascript python web-services rest web-scraping

我正在尝试通过REST API构建Python / JS Web服务。

我的方案如下:

  1. 用户点击我网站上的按钮
  2. 我的网站向REST API发送HTTP请求
  3. Web抓取发生在服务器端(使用Python或Node)。第三方网站上的数据已动态加载。
  4. 结果以JSON格式发送回我的网站以显示给用户
  5. 我检查了许多Python托管服务。我不知道他们是否支持Selenium。对于JS库和NodeJS主机也是如此。

    基本上,我很困惑。我应该如何使用我的项目并抓取动态数据? Python与Selenium? NodeJS与PhantomJS和Cheerio?

1 个答案:

答案 0 :(得分:1)

Selenium(单独)和CheerIO都不会让您能够从第三方网站动态加载数据。

您要搜索的答案是PhantomJs。 使用PhantomJS允许您从第三方网站动态加载数据并使用Javascript与其进行交互,您可以执行诸如向下滚动以请求更多数据,以及在添加新内容时开始报废等操作。

我自己在similar project工作。在从一堆交互中加载所有需要废弃的数据之后,我在通过Javascript和废弃数据与页面交互时抓取数据,然后将所有这些数据保存在XML文件中以便稍后将它们存储在OrientDB数据库中。 在这个项目中我使用了Selenium和PhantomJS驱动程序,但PhantomJS已经是一个NodeJs框架,但是我使用了Python,因为这个项目预计会更大,并且包含更多的数据科学内容。

在您的情况下,如果场景只是抓取数据然后将其检索到远程主机/客户端,那么我建议您使用Node + PhantomJS。