前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何维护爬虫代理

如何维护爬虫代理

原创
作者头像
用户6172015
修改2020-10-13 17:59:09
6820
修改2020-10-13 17:59:09
举报
文章被收录于专栏:网络爬虫

为了保证网络爬虫再爬虫业务中能更高效稳定运行,在使用代理时需要维护一个好的爬虫代理IP池。那如何维护爬虫代理IP呢?

1、网上抓取免费代理

对爬取的代理ip进行验证,通过爬虫程序验证代理是否可用,把能用的代理IP列表。但是网上抓取的代理IP,可用性都很少,所以需要不间断的抓取代理IP,以保障自己的爬虫代理IP池有足够的代理IP使用。

2、购买动态隧道转发代理

网上抓取的免费代理可用率都很小。对爬虫业务使用没有实际的效果。想要让自己的爬虫业务能更加稳定的采集,这时候就需要在网上找一些优质代理商,进行高匿隧道转发爬虫代理IP购买。一般优质代理商的隧道转发代理IP都是过滤掉了无效IP,每个IP都是真实有效,通过隧道转发代理来填充自己的IP池,以保障自己的爬虫能稳定采集业务。

3、自建代理IP服务器

一般不愿意购买付费代理的,愿意花钱的,可以自己购买代理IP服务器来获取IP。

隧道转发代理维护:
代码语言:javascript
复制
<?php    
    namespace App\Console\Commands;    
    use Illuminate\Console\Command;

    class Test16Proxy extends Command
    {
        /**
         * The name and signature of the console command.
         *
         * @var string
         */
        protected $signature = 'test:16proxy';

        /**
         * The console command description.
         *
         * @var string
         */
        protected $description = 'Command description';

        /**
         * Create a new command instance.
         *
         * @return void
         */
        public function __construct()
        {
            parent::__construct();
        }

        /**
         * Execute the console command.
         *
         * @return mixed
         */
        public function handle()
        {
            $client = new \GuzzleHttp\Client();
            // 要访问的目标页面
            $targetUrl = "http://httpbin.org/ip";

            // 代理服务器(产品官网 www.16yun.cn)
            define("PROXY_SERVER", "t.16yun.cn:31111");

            // 代理身份信息
            define("PROXY_USER", "username");
            define("PROXY_PASS", "password");

            $proxyAuth = base64_encode(PROXY_USER . ":" . PROXY_PASS);

            $options = [
                "proxy"  => PROXY_SERVER,
                "headers" => [
                    "Proxy-Authorization" => "Basic " . $proxyAuth
                ]
            ];
            //print_r($options);
            $result = $client->request('GET', $targetUrl, $options);
            var_dump($result->getBody()->getContents());
        }
    }
?>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、网上抓取免费代理
  • 2、购买动态隧道转发代理
  • 3、自建代理IP服务器
  • 隧道转发代理维护:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档