您好,登錄后才能下訂單哦!
這篇文章主要介紹“什么是用戶代理IP池”,在日常操作中,相信很多人在什么是用戶代理IP池問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”什么是用戶代理IP池”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
說明
1、用戶代理池是將不同的用戶代理組成一個池,然后隨機調用。
2、每次訪問代表使用不同的瀏覽器。
3、配置在爬蟲的程序中,當一個IP失效后,立即再用另一個IP。
實例
import urllib.request import random import urllib.error #自定義UA_IP類,用來隨機得到 def UA_IP(thisUrl): #構建用戶代理池 ua_pool = [ 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41 Safari/535.1 QQBrowser/6.9.11079.201', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0' ] #構建ip代理池 ip_pool = [ '139.196.196.74', '112.124.47.21', '61.129.70.109', '221.229.166.55' ] thisUA = random.choice(ua_pool) #從用戶代理池中隨機選擇一個用戶代理 thisIP = random.choice(ip_pool) #從IP代理池中隨機選擇一個IP代理 headers = ('User-Agent', thisUA) #構造報頭 #將IP格式化 proxy = urllib.request.ProxyHandler({'http': thisIP}) #裝入IP代理 opener = urllib.request.build_opener(proxy, urllib.request.HTTPHandler) #裝入代理 opener.addheaders = [headers] #將opener設置為全局 urllib.request.install_opener(opener) #從網頁爬取信息 data = urllib.request.urlopen(thisUrl).read().decode('utf-8', 'gnore') return data #網頁池,后面從網頁池中選擇一個進行該網頁信息的爬取 urls = [ 'https://mp.csdn.net/mdeditor/88323361#', 'https://mp.csdn.net/mdeditor/88144295#', 'https://mp.csdn.net/mdeditor/88144295#', 'https://mp.csdn.net/mdeditor/88081609#' ] #爬取1000次 for i in range(0, 1000): try: thisUrl = random.choice(urls) data = UA_IP(thisUrl) print(len(data)) except urllib.error.HTTPError as e: if hasattr(e, 'code'): print(e.code) if hasattr(e, 'reason'): print(e.reason)
到此,關于“什么是用戶代理IP池”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。