架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 224|回复: 0

[交流] 如何使用代理IP进行数据抓取,PHP爬虫抓取亚马逊商品数据

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-15 17:05:08
zu
什么是代理?什么情况下会用到代理IP
代理服务器(Proxy Server),其功能就是代用户去取得网络信息,然后返回给用户。形象的说:它是网络信息的中转站。通过代理IP访问目标站,可以隐藏用户的真实IP
比如你要抓取一个网站数据,该网站有100万条内容,他们做了IP限制,每个IP每小时只能抓1000条,如果单个IP去抓因为受限,需要40天左右才能采集完,如果用了代理IP,不停的切换IP,就可以突破每小时1000条的频率限制,从而提高效率。

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

代理IP有开放代理也有私密代理,开放代理是全网扫描而来的,不稳定,不适合爬虫,如果自己随便用用还好。用爬虫抓数据,最好使用私密代理。私密代理网上有很多提供商,稳定性参差不齐,现在我们公司使用的是“亿牛云”提供的私密代理。
我们公司有个项目是抓取亚马逊数据来进行分析销量、评论等,用PHP进行抓取,抓取亚马逊要特别注意header头,否则输出的数据就是空了。我们之前是使用的其他家代理的api模式的,但是自己管理ip池觉得很麻烦,所以选择了亿牛云提供的爬虫代理,动态转发模式的,不需要我们自己管理ip池,直接进行数据采集,这很方便也节约了很多时间。


  1. $url = "https://www.amazon.com/dp/B01H2S9F6C";
  2.         $urls = "https://httpbin.org/ip";
  3.         define("PROXY_SERVER", "tcp://t.16yun.cn:31111");
  4.         define("PROXY_USER", "16YUN123");
  5.         define("PROXY_PASS", "123456");
  6.         $proxyAuth = base64_encode(PROXY_USER . ":" . PROXY_PASS);
  7.         $tunnel = rand(1,10000);
  8.         $headers = implode("\r\n", [
  9.             "Proxy-Authorization: Basic {$proxyAuth}",
  10.             "Proxy-Tunnel: ${tunnel}",
  11.         ]);
  12.         $sniServer = parse_url($urls, PHP_URL_HOST);
  13.         $options = [
  14.             "http" => [
  15.                 "proxy"  => PROXY_SERVER,
  16.                 "header" => $headers,
  17.                 "method" => "GET",
  18.                 'request_fulluri' => true,
  19.             ],
  20.             'ssl' => array(
  21.                     'SNI_enabled' => true, // Disable SNI for https over http proxies
  22.                     'SNI_server_name' => $sniServer
  23.             )
  24.         ];
  25.         print($url);
  26.         $context = stream_context_create($options);
  27.         $result = file_get_contents($url, false, $context);
  28.         var_dump($result);
  29.         print($urls);
  30.         $context = stream_context_create($options);
  31.         $result = file_get_contents($urls, false, $context);
  32.         var_dump($result);?>
复制代码





上一篇:轻松水印(Easy Watermarks)7.03 免安装破解版
下一篇:纯CSS3美化单选按钮radio
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-7-23 17:12

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表