数据获取的小技巧

孤街醉人 提交于 2020-08-14 10:13:48

 

在大数据如此火的时代,我们要获取更多数据,就要进行数据采集,过滤,然后再进行使用。比如当我们在进行一个项目并且需要大量真实数据时,就需要通过爬虫去获得,有些爬取额数据还不能直接使用,需要进行过滤后才能使用,特别是那些很珍贵的数据。

最近有个项目是抓取亚马逊数据来进行分析销量、评论等,用java进行抓取,但是抓取亚马逊数据是需要很多策略的,ua,cookie.ip等。我们之前是使用的其他家代理的api模式的,但是效果越来用越差,而且自己管理ip池觉得很麻烦,所以选择了亿牛云提供的爬虫代理,动态转发模式的,不需要我们自己管理ip池,直接进行数据采集,这很方便也节约了很多时间。下文就展示下这新模式的代理使用方式便也节约了很多时间。下文就展示下这新模式的代理使用方式

        $url = "https://www.amazon.com/dp/B01H2S9F6C";

        $urls = "https://httpbin.org/ip";

 

        define("PROXY_SERVER", "tcp://t.16yun.cn:31111");

 

        define("PROXY_USER", "16YUN123");

        define("PROXY_PASS", "123456");

 

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

 

        $tunnel = rand(1,10000);

 

        $headers = implode("\r\n", [

            "Proxy-Authorization: Basic {$proxyAuth}",

            "Proxy-Tunnel: ${tunnel}",

        ]);

        $sniServer = parse_url($urls, PHP_URL_HOST);

        $options = [

            "http" => [

                "proxy"  => PROXY_SERVER,

                "header" => $headers,

                "method" => "GET",

                'request_fulluri' => true,

            ],

            'ssl' => array(

                    'SNI_enabled' => true, // Disable SNI for https over http proxies

                    'SNI_server_name' => $sniServer

            )

        ];

        print($url);

        $context = stream_context_create($options);

        $result = file_get_contents($url, false, $context);

        var_dump($result);

        print($urls);

        $context = stream_context_create($options);

        $result = file_get_contents($urls, false, $context);

        var_dump($result);?>

本文只要是分享我们在慢慢爬虫之路上会遇到的一些问题,我们只有通过不断的学习,尝试才能更精进爬虫技术,也能通过尝试不同的代理方式让我们能更有效的获取数据资源。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!