爬蟲在當今網絡流行的今天已經成為很多人耳熟能詳的一個詞,它依託於腳本檔案,開發人員根據一定邏輯編寫程式碼,使之按照預定規則進行萬維網資訊抓取。

網路爬蟲實際上是利用腳本在短時間內對大量網頁進行訪問,追跡腳本指定特定目標,抓取資訊。 但因為瀏覽器對同一IP地址在固定時間訪問頻率有限制,限制為防止服務器運行壓力過大出錯。 這時候,為解除限制,很快獲得數據,代理IP成為網路爬蟲的優先選擇。 98IP海外代理擁有海量動態住宅IP,IP代理池遍佈全球範圍,能够為網絡爬蟲程式提供强大的科技支撐。

 

IP代理為網路爬蟲提供靈活性IP地址,通過不斷更換IP地址,防止出觸動服務器的反爬蟲機制,具體如下。

 

獲取地址和埠號,這裡提到是獲取API連結IP地址

def get_ip_list():

url=”XXX”

resp=requests.get(url)

//選取頁面數據

resp_json=resp.text

將JSON字串數據轉化為字典

resp_dict=json.loads(resp_json)

ip_dict_list=resp_dict.get(‘data’)

將data字串中數據取出

return ip_dict_list

 

有部分非IP白名單的IP需要使用者密碼驗證,API連結會對用戶名與密碼進行加密,有需要書寫程式碼驗證加密。

 

向目標網址發送請求,獲取相關資料。 成功則訪問響應資訊,失敗則列印結果

def spider_ip(ip_port,url)://真正要請求的url地址

headers1 = {

“User-Agent”:'XXX'

//瀏覽器資訊

}

headers = {

'Proxy-Authorization':'Basic %s' %(base_code(username,password))

//用戶名+密碼

}

//代理IP地址放到proxy參數中

proxy = {

'http':'http://{}'.format(ip_port)

}

//發送網絡請求

請求成功

try:

reap = requests.get(url, proxies=proxy,headers=headers,headers1=headers1)

//解析訪問資料

result = reap.text

//發送失敗,列印此代理失效

except:

result = '此代理失效'

 

本文介紹就到這裡,更多IP資訊敬請期待下文。