在我們使用爬蟲的過程中,很容易遇到反爬機制是禁用 ip 的,可以使用代理 ip 解決 ip 被封的問題。但是網(wǎng)上 ip 代理有很多家,到底選哪家好呢?
創(chuàng)新互聯(lián)建站是一家專業(yè)提供羅城企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站設計、網(wǎng)站建設、外貿(mào)網(wǎng)站建設、H5開發(fā)、小程序制作等業(yè)務。10年已為羅城眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。本文選擇億牛云代理 ( 官網(wǎng)地址 www.16yun.cn) 進行演示,使用 php 語言,如果需要大規(guī)模抓取可以去試試 python 。
在官網(wǎng)我們可以看到有提供兩種方式進行代理,一種是 api 模式,一種是隧道模式。 Api 模式就是我們爬蟲最常用到的,就是提供 url 連接給你,你的程序自動的獲取代理信息。這個模式適合自己需要管理 ip 池控制 ip 的使用, ip 的有效時間是 2 到 10 分鐘;隧道模式就提供給你一個固定的服務器 ip 地址信息,包括 ip :端口:用戶名:密碼只需要將代理信息配置到程序里面就可以使用,他們后臺會自動切換 ip ,這個模式很方便,簡單。
1 、第一種方式
第一種方式
首先代理提供商會提供給你一個 api 接口,你可以通過這個接口去獲取 ip和端口號。但是這些ip的時效是 2到10 分鐘,所以我建立了一個 ip池,每兩分鐘去更新一次ip池,以確保這些ip每次用到的時候都是有效的 。
第二種方式
可以直接查看億牛云代理接入文檔 php代碼
<?php
// 要訪問的目標頁面
$url = "http://httpbin.org/ip" ;
$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 );
// 設置 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 );
// 訪問 HTTPS 頁面
print ( $urls );
$context = stream_context_create ( $options );
$result = file_get_contents ( $urls , false , $context );
var_dump ( $result ); ?>
經(jīng)過一周的測試,代理的有效率在 90% 以上,總體來說效果還是很好的。
網(wǎng)站標題:使用代理ip防止爬蟲被封ip(附億牛云代理開發(fā)過程)-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.rwnh.cn/article4/cciooe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、外貿(mào)建站、移動網(wǎng)站建設、營銷型網(wǎng)站建設、微信小程序、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)