【问题标题】:Does running a Flask web server preclude web scraping in Node.JS?运行 Flask Web 服务器是否会阻止 Node.JS 中的 Web 抓取?
【发布时间】:2017-04-19 02:05:24
【问题描述】:

我有兴趣尝试一个网络抓取项目。目标站点使用 Javascript 来动态加载和更新内容。大多数关于网络抓取此类网站的在线讨论表明 node.js、casper.js、phantom.js 和 nightmare.js 在尝试此类项目时都是相当流行的工具。 Node.js 似乎是最常用的。

如果我正在运行 Flask 服务器并希望显示 node.js 的结果,例如,在我的网站上以表格格式抓取,这可能吗?我会遇到兼容性问题吗?还是为了保持一致性,我应该尝试使用基于 python 的方法来像 BS4 那样进行抓取?我问是因为 node.js 被描述为服务器,所以我假设如果我尝试同时使用它和 Flask 会出现冲突。

【问题讨论】:

    标签: javascript node.js python-3.x web-scraping


    【解决方案1】:

    如果您想编写一个执行 javascript 的网络爬虫,node.js(使用 Phantom.js 之类的东西)是一个不错的选择。另一个流行的选择是硒。您需要模拟用户操作来激活事件处理程序。让我们将此动作称为“刮擦”。 BS4 不合适,因为它不能执行 javascript。

    将数据保存到磁盘后,以 HTML 表格形式显示结果(我们将此操作称为“报告”)将需要另一种解决方案。 Flask 是一个合适的选择。

    由于抓取和报告是独立的关注点,如果您想同时使用这两种服务,不会产生冲突。当使用 Selenium 或 node.js 作为爬虫时,你并没有真正运行 Web 服务器。因此,将其视为可能发生冲突的两个 Web 服务器是不正确的。

    【讨论】:

    • 谢谢!起初我认为 node 只是另一种语言,然后我开始阅读并看到它被称为 web 服务器。接下来,幻影、卡斯帕和梦魇从木制品中冒出来,更添了混乱。我衷心感谢清晰简洁的回复!
    猜你喜欢
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 2015-05-31
    • 2019-01-18
    • 1970-01-01
    相关资源
    最近更新 更多