2011-12-07 36 views
-2

我有一個網站從「ANY_XYZ_WEBSITE.com」抓取數據。如何在ANY_XYZ_WEBSITE.com上取消阻止cURL?

我正在使用cURL自動抓取數據,然後根據我的需要修改它。但最近「ANY_XYZ_WEBSITE.com」已經阻止了所有cURL請求,我無法從他們的網站獲取數據。有沒有其他的方式來獲取數據?

我在IIS上使用PHP。

+0

「ANY_XYZ_WEBSITE.com」碰巧是「Kitco.com」嗎?我不知道我是否錯過了一些東西,或者這只是一個巨大的審查失敗。無論如何,這是他們禁止您自動訪問其網站的權利。顯然他們不希望你這樣做。 – Polynomial

+0

分享你的捲髮代碼..。 – codersofthedark

回答

0

您可以嘗試更改代理字符串。 CURLOPT_USERAGENT

2

很有可能它們會根據User-Agent標題阻止您。

所以 -

curl_setopt($ch, CURLOPT_USERAGENT, "SomethingElse/1.0"); 

發射請求關閉之前。

如果你想僞裝成一個真正的瀏覽器,http://www.user-agents.org/是實際上在當前使用的不同用戶代理的綜合資源。

但是我借調了Polynomial的觀點 - 這可能是網站阻止cURL的原因,所以在向他們請求數據時不要做壞事。

+0

或者他們可能阻止了OP的IP,但在這種情況下,除了要求他們許可之外,他無法做任何事情。 – Flo

+0

殭屍陷阱可能 –

0
  1. 永遠不要並聯擊中 /不止一次在相同域上多在3秒 ATLEAST的間隔。如果您可以嘗試保持至少十秒秒。

  2. 確保爬網程序在爬網之前讀取並關注robot.txt文件。

p,s ,:你的捲曲沒有被阻擋,你被阻止了。而且它不是user_agent問題。

現在該怎麼辦?

有耐心。稍等片刻。刷新您的IP(如果動態)然後再次點擊,但遵循以上兩條說明。如果仍然被阻止,您需要指定您正在討論的代碼和網站以獲得合法解決方案。