CasperJS和PhantomJS触发"网站离线"浏览器没有

时间:2017-04-30 23:02:45

标签: javascript phantomjs casperjs

所以我试图抓住一个网站(https://shop.advanceautoparts.com/),我可以通过CasperJS在过去几周内正常访问它。当我现在尝试这样做时(就像2天前一样)我收到一条奇怪的消息,说该网站处于离线状态:

enter image description here

当我尝试使用普通浏览器或PhantomJS时,我会获得正常的网站。我尝试在不同的计算机上进行操作,更改我的IP,更改用户代理但没有任何作用。

编辑

在PhantomJS上尝试相同的事情后,在运行代码大约5次后,我得到了相同的消息。这是网站正在采取哪些措施来防止刮擦?

1 个答案:

答案 0 :(得分:1)

我怀疑网站知道你正在根据你的用户代理进行抓取,因为你多次击中它

也许尝试随意使用您的使用者,看看会发生什么。 (see list here

var casper = require('casper').create({
  pageSettings: {
    userAgent: "USE SOME OTHER USER AGENT HERE"
  }
});

但是,在多个同时请求之后,该站点也可能被IP地址阻止。因此,请尝试a)减慢脚本速度或b)导航到不同的页面

修改

我已经将测试脚本拼凑在一起,所有这些都适合我。 重要位是:

casper.waitUntilVisible("#header-top", function() {

enter image description here

HTH