【发布时间】:2019-01-11 23:10:59
【问题描述】:
我正在研究抓取网站,我尝试了许多技术来抓取网站。
首先我使用PHP cURL作为抓取工具,并在一定程度上爬上了网站,但后来我遇到了一个问题,那就是; PHP cURL 无法抓取使用 Ajax 加载网站内容/数据的网站。这就是阻止我使用 PHP 的原因。
经过体面的研究,我找到了另一种抓取网站的解决方案,它超越了 Ajax 加载的网站等的限制,并且非常强大且使用起来很酷,它们确实是 Phantom JS 和 Casper JS。我已经用它抓取了很多网站。
我遇到这些工具的问题是,这些工具通过命令行界面工作/控制,例如当你想运行 Phantom/Casper JS 代码时,你需要通过命令行运行它。这是我的基本问题。我需要的是,用 Phantom/Casper JS 编写代码,并且我想要一个带有管理面板的网页,我可以在其中控制这些脚本。目前我正在抓取职业/职位列表网站,并且我想自动化这些工具,以便在给定时间后自动抓取这些网站,以便与发布新工作的雇主网站保持同步。
例如,我有每个网站的代码,我通过命令行手动执行每个文件,然后等待它完成抓取,然后我继续第二个,依此类推。我想要的是,我用 JavaScript 编写一个脚本(最好用 Node JS - 但不是强制性的),它将在特定实例之后执行抓取代码,然后开始在后台抓取所有网站。
我可以做自动化,这不是问题,但问题是,我无法将 Phantom/Casper JS 与网站连接,即使我尝试了将 Phantom/Casper JS 与 Node JS 连接的Spooky JS,但是不幸的是,它对我不起作用,而且非常混乱。
还有没有像这两个一样强大的工具,我可以通过网页轻松地与它们交互?
【问题讨论】:
标签: web-scraping phantomjs casperjs php-curl