php禁止网页抓取(什么是代理?什么情况下会用到代理IP?(图))

优采云 发布时间: 2022-04-20 11:08

  php禁止网页抓取(什么是代理?什么情况下会用到代理IP?(图))

  什么是代理?什么时候使用代理IP?

  代理服务器(Proxy Server),它的作用是代表用户获取网络信息,然后返回给用户。形象地说:是网络信息的中转站。通过代理IP访问目标站可以隐藏用户真实IP。

  比如你要爬取一个网站的数据,网站有100万条内容,他们有IP限制,每个IP每小时只能爬1000条,如果单个IP是爬取,由于限制,采集完成需要40天左右。如果使用代理IP并不断切换IP,可以突破每小时1000条消息的频率限制,从而提高效率。

  其他想要切换IP或隐藏身份的场景也会用到代理IP,比如SEO。

  代理 IP 有开放代理和私有代理。开放代理是全网扫描,不稳定,不适合爬虫。随便用就好了。要使用爬虫抓取数据,最好使用私有代理。互联网上的私有代理提供商众多,稳定性参差不齐。现在我们公司使用的是“综艺IP”提供的私有代理。

  我们公司有个项目爬亚马逊数据分析销量、评论等,使用PHP爬取。爬亚马逊的时候一定要特别注意header,否则输出的数据会是空的。还有一种方法是使用PHP通过shell_exec调用curl命令进行爬取。

   PHP如果是使用curl函数来抓取,主要设置下面几项即可。

curl_setopt($ch, CURLOPT_PROXY, 'proxy.baibianip.com'); //代理服务器地址

curl_setopt($ch, CURLOPT_PROXYPORT, '8000'); //代理服务器端口

如果是抓取HTTPS,把下面两项设置为false:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //抓HTTPS可以把此项设置为false

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //抓HTTPS可以把此项设置为false<br />

  方法一:完整示例代码如下,下面提供两种方式来调用:

  方法二:使用PHP调用Linux的curl命令进行爬取,Windows下下载curl.exe。

  $html = shell_exec("curl -x &#39;proxy.baibianip.com:8000&#39; &#39;http://www.baidu.com&#39; --connect-timeout 3 -m 5");

echo $html;

  转载于:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线