爬蟲如何使用ip代理池
1、利用IP代理池技術,每次從IP代理池中隨機選擇一個IP代理來爬取資料。
import urllib.request import random #構建IP代理池 ip_pool = [ '58.221.55.58:808', '120.198.248.26:8088', '221.229.166.55:8080', '139.196.214.67:8080' ] def ip(ip_pool, url): #從IP代理池中隨機選一個IP代理 ip = random.choice(ip_pool) print(ip) #格式化IP代理格 proxy = urllib.request.ProxyHandler({'http': ip}) #裝入IP代理 opener = urllib.request.build_opener(proxy, urllib.request.HTTPHandler) return urllib.request.urlopen(url).read().decode('utf-8', 'ignore') data = ip(ip_pool, '') print(data)
2、使用IP代理池和使用者代理的組合來增加訪問量,更安全。利用ip代理的動態ip構建自己的代理ip池,可以保證ip的質量。
因為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 = [ '', '', '', '' ] #爬取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代理池的方法,推薦大家使用,千萬ip資源百兆頻寬,保證爬蟲資料傳輸安全。提供高匿穩定代理ip服務,方便快捷獲取網站資料,流量免費測試正在進行!更多Python學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2236/viewspace-2828825/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何建立爬蟲代理ip池爬蟲
- 如何用海外HTTP代理設定python爬蟲代理ip池?HTTPPython爬蟲
- 如何建立爬蟲IP池?爬蟲
- 代理ip池對爬蟲有多重要爬蟲
- Python 爬蟲IP代理池的實現Python爬蟲
- 爬蟲代理IP的使用技巧爬蟲
- 爬蟲使用代理防封IP爬蟲
- 代理IP如何突破反爬蟲?爬蟲
- 手把手教你爬蟲代理ip池的建立爬蟲
- 代理ip池對爬蟲有什麼好處爬蟲
- python 爬蟲 代理池Python爬蟲
- scrapy爬蟲代理池爬蟲
- 實用爬蟲-02-爬蟲真正使用代理 ip爬蟲
- 網路爬蟲怎麼使用ip代理爬蟲
- Python代理IP爬蟲的簡單使用Python爬蟲
- 爬蟲代理IP產品如何選擇爬蟲
- 如何用http代理的ip池繞過網站反爬蟲機制?HTTP網站爬蟲
- 爬蟲採集自建代理ip池的三大優勢爬蟲
- 使用芝麻代理,爬蟲ip經常被封,該如何解決?爬蟲
- 爬蟲之代理池維護爬蟲
- 爬蟲工作使用代理IP有哪些優勢?爬蟲
- 爬蟲代理怎麼選ip爬蟲
- 分散式爬蟲有哪些使用代理IP的方法?分散式爬蟲
- 如何利用代理ip提高爬蟲的工作效率爬蟲
- 【PhpSelenium】3.定時爬蟲 + 多工爬蟲 + 代理池PHP爬蟲
- [PhpSelenium] 3.定時爬蟲 + 多工爬蟲 + 代理池PHP爬蟲
- 使用海外HTTP代理爬蟲時,我們該如何快速切換IP?HTTP爬蟲
- 爬蟲代理IP有哪些好處?爬蟲
- 用Python爬蟲抓取代理IPPython爬蟲
- Python爬蟲技巧---設定代理IPPython爬蟲
- python爬蟲從ip池獲取隨機IPPython爬蟲隨機
- 一篇瞭解怎麼使用爬蟲代理IP爬蟲
- Python3網路爬蟲(十一):爬蟲黑科技之讓你的爬蟲程式更像人類使用者的行為(代理IP池等)Python爬蟲
- 爬蟲被封怎麼辦?用Node構建一個私人IP代理池爬蟲
- 爬蟲ip代理池搭建前需解決的問題及搭建思路爬蟲
- python爬蟲實戰:爬取西刺代理的代理ip(二)Python爬蟲
- 爬蟲代理IP的三大作用爬蟲
- 爬蟲需要代理IP的基本要求爬蟲