2017-04-30 62 views
3

所以我想刮一個站點(https://shop.advanceautoparts.com/),我可以正常訪問它通過CasperJS在過去的幾個星期。當我現在做它(如像3天前)我得到一個奇怪的消息說,該網站是離線:CasperJS和PhantomJS觸發「網站是離線」的瀏覽器不

enter image description here

當我嘗試過一個正常的瀏覽器或PhantomJS,我得到的正常的網站。我試着做這件事關不同的計算機上,改變了我的IP,更改用戶代理,但沒有工作。

編輯

試穿PhantomJS同樣的事情,在運行代碼的5倍左右後,我得到了相同的消息後。這是該網站正在做的事情,以防止刮?

回答

1

我懷疑該網站知道你是根據你的用戶代理刮作爲你打它mutltiple次

也許嘗試隨機化的用戶代理,看會發生什麼。 (see list here

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

但是該網站還可能通過IP地址的一些併發的請求後阻塞。因此也嘗試)減慢你的腳本或b)導航到

我敲在一起的測試腳本,所有的作品對我來說不同的頁面

編輯。該重要位是:

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

enter image description here

HTH

+0

所以當我用硒,我得到一個警告,說是有使用document.write一個「解析器阻斷腳本插」。這似乎是Chrome會自動阻止此,所以我會認爲這是我應得阻塞(CasperJS只是無法加載它)。任何建議擺脫它?更改頁面,useragent或IP不起作用。 – traw1234

+0

已編輯答案。如果你申請'waitUntilVisible(「#頭頂」'所有的好作品 – Rippo