在大数据如此火的时代,我们要获取更多数据,就要进行数据采集,过滤,然后再进行使用。比如当我们在进行一个项目并且需要大量真实数据时,就需要通过爬虫去获得,有些爬取额数据还不能直接使用,需要进行过滤后才能使用,特别是那些很珍贵的数据。
最近有个项目是抓取亚马逊数据来进行分析销量、评论等,用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);?>
本文只要是分享我们在慢慢爬虫之路上会遇到的一些问题,我们只有通过不断的学习,尝试才能更精进爬虫技术,也能通过尝试不同的代理方式让我们能更有效的获取数据资源。
来源:oschina
链接:https://my.oschina.net/u/4464660/blog/4475956