2011-12-07 34 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(如果动态)然后再次点击,但遵循以上两条说明。如果仍然被阻止,您需要指定您正在讨论的代码和网站以获得合法解决方案。

相关问题