重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
本篇內(nèi)容主要講解“php爬蟲(chóng)怎么添加代理進(jìn)行訪問(wèn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“php爬蟲(chóng)怎么添加代理進(jìn)行訪問(wèn)”吧!
成都創(chuàng)新互聯(lián)公司從2013年成立,先為常山等服務(wù)建站,常山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為常山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
在使用python對(duì)網(wǎng)頁(yè)進(jìn)行多次快速爬取的時(shí)候,訪問(wèn)次數(shù)過(guò)于頻繁,服務(wù)器不會(huì)考慮User-Agent的信息,會(huì)直接把你視為爬蟲(chóng),從而過(guò)濾掉,拒絕你的訪問(wèn),在這種時(shí)候就需要設(shè)置代理,我們可以給proxies屬性設(shè)置一個(gè)代理的IP地址,代碼如下:
// 要訪問(wèn)的目標(biāo)頁(yè)面
$url = "http://httpbin.org/ip";
$urls = "https://httpbin.org/ip";
// 代理服務(wù)器
define("PROXY_SERVER", "tcp://t.16yun.cn:31111");
// 隧道身份信息
define("PROXY_USER", "16YUN123");
define("PROXY_PASS", "123456");
$proxyAuth = base64_encode(PROXY_USER . ":" . PROXY_PASS);
// 設(shè)置 Proxy tunnel
$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);
// 訪問(wèn) HTTPS 頁(yè)面
print($urls);
$context = stream_context_create($options);
$result = file_get_contents($urls, false, $context);
var_dump($result);?>
在代碼中的目標(biāo)網(wǎng)站是檢測(cè)代理是否訪問(wèn)成功,如果訪問(wèn)成功就會(huì)返回代理ip,如果代理返回
異常有可能是代理的配置沒(méi)有正確,那就需要對(duì)配置的代理信息進(jìn)行檢查。
到此,相信大家對(duì)“php爬蟲(chóng)怎么添加代理進(jìn)行訪問(wèn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!