首頁 > 軟體

python的requests如何使用代理IP進行爬蟲工作

2021-05-19 17:30:06

很多新手朋友不知道requests如何使用代理IP進行爬蟲工作,今天來簡單的說一下。站大爺代理IP有兩種授權方式,分別是終端IP授權和「使用者名+密碼「授權,使用方法也各不相同,以短效優質代理IP為例。

一、終端IP授權(繫結IP白名單)

登入後臺,在左側的例項管理下,找到短效優質代理,確認「當前授權模式為」為「終端IP授權」,在最右側的管理下,單擊「繫結終端IP」,繫結使用代理的終端的公網IP,然後生成提取連結,以下是部分簡略測試程式碼,僅供參考。

import requests

test_url = "******" # 訪問的目標網站

api_url = "****" # 站大爺後臺生成的API提取連結

headers = {"******"} # 構建請求頭,比如 User-Agent,Referer,Params,Cookie等資訊

resp1 = request.get(api_url).text

proxy_list = resp.split('rn') # 這裡的API提取連結是返回的text文字格式,以rn分割 獲取IP列表,還可以返回JSON,XML格式

for proxy in proxy_list:

resp2 = request.get(test_url,headers=headers, proxies=proxy) # 請求加上請求頭,加上代理

# 接下來就是對返回的結果進行解析提取,這裡就不再多說了

二、「使用者名+密碼」授權

登入後臺,在左側的例項管理下,找到短效優質代理,確認「當前授權模式為」為「使用者名+密碼」,若不是,則單擊「切換」,使用者名為例項ID,密碼為8位數字的產品密碼(很多使用者會把網站登入的使用者名密碼當成代理IP的使用者名密碼,還有人把8位數字的產品密碼進行md5加密,這些都不正確)在最右側的管理下,生成提取連結,以下是部分簡略測試程式碼,僅供參考。

import requests

test_url = "******" # 訪問的目標網站

api_url = "****" # 站大爺後臺生成的API提取連結

headers = {"******"} # 構建請求頭,比如 User-Agent,Referer,Params,Cookie等資訊

resp1 = request.get(api_url).text

proxy_list = resp.split('rn') # 這裡的API提取連結是返回的text文字格式,以rn分割 獲取IP列表,還可以返回JSON,XML格式

for proxy in proxy_list:

proxies = {

'http': 'http://使用者名 :密碼@'+proxy, # 這裡要加上使用者名和密碼,注意訪問http網站和https網站的區別

'https': 'http://使用者名:密碼@' + proxy # 很多人會在這一步出錯

}

resp2 = request.get(test_url,headers=headers, proxies=proxies ) # 請求加上請求頭,加上代理

# 接下來就是對返回的結果進行解析提取,這裡就不再多說了

以上就是requests如何使用代理IP進行爬蟲工作的方法,終端IP授權模式下問題不大,「使用者名+密碼」授權模式下,有很多人不會使用,還有很多人忽略http和https的區別,希望這篇文章對大家有所幫助。


IT145.com E-mail:sddin#qq.com