Python基於scrapy採集資料時使用代理伺服器的方法
今天這篇文章主要給大家介紹下Python基於scrapy採集資料時使用代理伺服器的方法,涉及Python使用代理伺服器的技巧,具有一定參考借鑑價值,需要的朋友可以參考下。
在我們訪問任何網站之前,都需要對網站進行分析,最主要的是分析網站的是否有反爬機制,因為反爬機制的嚴格與否對我們獲取的速度和數量都有一定的影響。在應對反爬機制的時候除了使用代理IP以外還有一個基本的隨機ua的新增,做爬蟲都應該對這個不陌生。 在Python爬蟲的過程中經常要模擬UserAgent, 因此自動生成UserAgent十分有用通過UA來判斷不同的裝置或者瀏覽器是開發者最常用的方式方法,這個也是對於Python反爬的一種策略。但是我們今天重點講的是代理IP的使用,對那些反爬機制特別嚴的網站,大家肯定在找適合代理的時候很費精力,今天就給大家解決這個問題,推薦億牛雲代理,自營線路,電信專線IP池,代理速度,延遲都是一級棒。特別是需求高的業務,更是能滿足需求。這裡主要推薦他們家提供的爬蟲代理隧道模式的,真的是yyds,關於使用方式,不同的語言使用有稍微的區別,這裡給大家示例 scrapy爬蟲程式代理IP的實現過程:
import base64 import sys import random PY3 = sys.version_info[0] >= 3 def base64ify(bytes_or_str): if PY3 and isinstance(bytes_or_str, str): input_bytes = bytes_or_str.encode('utf8') else: input_bytes = bytes_or_str output_bytes = base64.urlsafe_b64encode(input_bytes) if PY3: return output_bytes.decode('ascii') else: return output_bytes class ProxyMiddleware(object): def process_request(self, request, spider): # 代理伺服器(產品官網 ) proxyHost = "t.16yun.cn" proxyPort = "31111" # 代理驗證資訊 proxyUser = "username" proxyPass = "password" request.meta['proxy'] = "http://{0}:{1}".format(proxyHost,proxyPort) # 新增驗證頭 encoded_user_pass = base64ify(proxyUser + ":" + proxyPass) request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass # 設定IP切換頭(根據需求) tunnel = random.randint(1,10000) request.headers['Proxy-Tunnel'] = str(tunnel)
關於其他語言寫的程式如何使用代理,大家可以去官網具體瞭解下: 以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31522063/viewspace-2901271/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Scrapy爬蟲框架如何使用代理進行採集爬蟲框架
- 新手使用python採集資料的尷尬事之代理ipPython
- python爬蟲 之 scrapy框架採集2000期彩票資料Python爬蟲框架
- 代理IP對金融資料採集的作用
- 資料採集的方法有哪些
- scrapy-redis非多網址採集的使用Redis
- Python進行資料採集時,如何避免IP被封?Python
- 使用爬蟲代理採集網站失敗的解決方法爬蟲網站
- 高速影片採集卡設計資料儲存:620-基於PCIe的高速影片採集卡
- Oracle資料倉儲的實時資料採集XSOracle
- 資料採集爬蟲ip代理基本原理爬蟲
- 爬蟲筆記:提高資料採集效率!代理池和執行緒池的使用爬蟲筆記執行緒
- 使用Python爬取代理資料Python
- PLC實時資料採集如何實現?
- 基於FileZilla上傳、下載伺服器資料的方法伺服器
- 爬蟲採集對於代理IP的五大需求爬蟲
- 基於工業物聯網的數控機床資料採集系統
- 【python爬蟲實戰】使用Selenium webdriver採集山東招考資料Python爬蟲Web
- 【Python資料採集】國家自然科學基金大資料知識管理服務門戶資料採集Python大資料
- [方法]需求挖掘採集的方法
- 基於MQTT協議的工業物聯網資料採集和監控系統MQQT協議
- Python爬蟲初學二(網路資料採集)Python爬蟲
- 資料採集元件:Flume基礎用法和Kafka整合元件Kafka
- 資料採集知識分享|4大資料採集方式都有什麼?大資料
- 資料採集型別網站怎麼選伺服器型別網站伺服器
- 人員基礎資訊採集
- 【京東】商品list列表採集+類目下的商品列表資料採集
- 基於Apache搭建HTTP HTTPS 正向代理 反向代理伺服器ApacheHTTP伺服器
- 基於物聯網閘道器的水電錶感測器資料採集系統
- 多程序協同的實時資料採集與共享系統
- PHP 資料採集的一種思路PHP
- 爬蟲資料採集的工作原理爬蟲
- 工商資訊資料採集思路
- 終於有人把工業資料採集講明白了
- 終於有人把能把資料採集給講明白了
- Python對系統資料進行採集監控——psutilPython
- amazon產品採集資料
- phpQuery採集網站資料PHP網站