1. 程式人生 > >python 採集使用代理身份驗證的3個情況

python 採集使用代理身份驗證的3個情況

1、urllib2:

proxy_support = urllib2.ProxyHandler({"http": "http://"+user+":"+pwd+"@%s" % proxiip})

opener = urllib2.build_opener(proxy_support)

urllib2.install_opener(opener)

requestx = urllib2.Request(url)
        urllib2.urlopen(requestx)

2、requests:

openurl = requests.session()

 # 隨機獲取代理ip

        proxy = rconnection_yz.srandmember(redis_key_proxy)
        proxyjson = json.loads(proxy)
        proxiip = proxyjson["ip"]
        # openurl.proxies = {'http': 'http://' + proxiip, 'https': 'https://' + proxiip}
        # 若你的代理需要使用HTTP Basic Auth,可以使用 http: // user:password @ host / 語法:eg: "http": "http://user:

[email protected]:3128/",
        openurl.proxies = {'http': 'http://'+user+':'+pwd+'@' + proxiip+'/', 'https': 'https://'+user+':'+pwd+'@' + proxiip+'/'}

 req = openurl.get(url, headers=headers, timeout=15)

3、scrapy使用代理身份驗證方式:

def process_request(self, request=None, spider=None):
    """
    將request設定為使用代理
""" try: self.redisclient = redis.Redis(self.REDIS_HOST, self.REDIS_PORT) proxy = self.redisclient.srandmember(random.choice(self.proxykeys)) proxyjson = json.loads(proxy) ip = proxyjson["ip"] proxy_user_pass = "%s:%s" % (self.IP_USER, self.IP_PWD) encoded_user_pass = base64.encodestring(proxy_user_pass) request.headers['Proxy-Authorization'
] = 'Basic ' + encoded_user_pass print ip request.meta['proxy'] = "http://%s" % ip except Exception, ee: print '------------------------------', ee

相關推薦

python 採集使用代理身份驗證3情況

1、urllib2: proxy_support = urllib2.ProxyHandler({"http": "http://"+user+":"+pwd+"@%s" % proxiip}) opener = urllib2.build_opener(proxy_sup

不寫一句mysql操作資料庫才是Python的風格!!3ORM模型庫示範

用Python可以不用記住任何一句mysql,通過Python使用的ORM模型,簡單來說就是一個庫是一個物件,這個庫裡面的欄位是這個物件的屬性。 ORM解釋:物件關係對映(英語:(Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一

synchronized驗證3理論(菜鳥玩執行緒)

synchronized驗證3個理論 1.論證1 1.1理論 當多個執行緒同時執行synchronized(非this)同步程式碼塊時呈同步效果。 1.2落地 1.2.1自定義鎖物件類 package com.chapter02.thread2_2_8_1; p

python 三級菜單 while循環三次,湖北省市-縣-街道的選擇,3while的循環 -day2

字典 utf ems Coding nbsp 上海 orm map [] python編寫一個三級while的循環菜單 1.定義字典,字典裏面嵌套字典,內嵌字典的值為列表。 思路: 湖北省的市:字典中的定義3個字典,用於存儲{序列-鍵:市名} shiqu_dir = {}

Python機器學習:6.3 使用學習曲線和驗證曲線 調試算法

畫出 很好 pos 正則 log gin htm 設置 valid 這一節我們學習兩個非常有用的診斷方法,可以用來提高算法的表現。他們就是學習曲線(learning curve)和驗證曲線(validation curve)。學習曲線可以判斷學習算法是否過擬合或者欠擬合。

Python tkinter 實現簡單登陸註冊 基於B/S三層體系結構,實現用戶身份驗證

cte cursor 實現簡單 結果 pass 分享圖片 not null for 技術 Python tkinter 實現簡單登陸註冊 最終效果 開始界面 ? 註冊 登陸 ? 源碼 login.py # encoding=utf-8 f

(二)Python調用Zabbix api之從入門到放棄——登錄並獲取身份驗證令牌

請求 urllib 登錄 login gin json AD 用戶 cati 訪問zabbix api的URL是: http://x.x.x.x/zabbix/api_jsonrpc.php x.x.x.x可能是你的IP或者域名訪問流程概覽:1、首先登錄2、認證

python之有用的3內置函數(filter/map/reduce)

得到 fun func 一個 == reduce 語法 too map 這三個內置函數還是非常有用的,在工作中用的還不少,順手,下面一一進行介紹 1、filter 語法:filter(function,iterable) 解釋:把叠代器通過function函數進行過

3 Python 模板庫比較

在我的日常工作中,我花費大量的時間將各種來源的資料轉化為可讀的資訊。雖然很多時候這只是電子表格或某種型別的圖表或其他資料視覺化的形式,但也有其他時候,將資料以書面形式呈現是有意義的。 但我的頭疼地方就是複製和貼上。如果你要將資料從源頭移動到標準化模板,則不應該複製和貼上。這很容易出錯,說實話,這

python官網某個版本安裝包對應的3下載檔案的區別

Python 3.6.0a1 - 2016-05-17 Download Windows x86 web-based installer Download Windows x86 executable installer Download Windows x86 embeddable zip fil

2018/11/30 安裝3python版本 python2.7 python3.7 python3.6

下載適合於windows使用者64位的安裝包: 連結:https://pan.baidu.com/s/1kygI_yxZH_MMIcJzxIbAlg  提取碼:rz2g    1安裝 安裝順序,我這裡是先安裝python3.7,然後Python2.7,最後p

Python 程式設計時要避免的 3 錯誤

這些錯誤會造成很麻煩的問題,需要數小時才能解決。 當你做錯事時,承認錯誤並不是一件容易的事,但是犯錯是任何學習過程中的一部分,無論是學習走路,還是學習一種新的程式語言都是這樣,比如學習 Python。 為了讓初學 Python 的程式設計師避免犯同

製作英文學習詞典。編寫程式製作英文學習詞典,詞典有3基本功能:新增、查詢和退出。程式讀取原始檔路徑下的txt格式詞典檔案,若沒有就建立一個(Python

以下路徑可更換為你自己的路徑,本程式採用Python語言大致實現了serach()查詢函式和add()新增函式。細節有待完善,謝謝 def search(): w=input("請輸入要查詢的單詞:") fr=open("C:\\Users

程式基本演算法習題解析 驗證任意一個大於5的奇數可以表示為3素數之和

題目: 驗證任意一個大於5的奇數可以表示為3個素數之和。 附上程式碼: // Chapter1_9.cpp : Defines the entry point for the application. // 驗證任意一個大於5的奇數可以表示為3個素數之和 #include "stdaf

PHP中4反斜槓的問題 正則匹配 3反斜槓的情況

背景: 今天在學習正則表示式,遇到了一個問題,php中4個反斜槓\在不同直譯器中的結果。 正文: 我們先來看看以下程式碼 echo '\'; 執行之後報語法錯誤,提示unexpected'\'; ',即\'; 這幾個字元出了問題 Parse error: sy

Python 3月累吐血還沒入門,究竟哪些事沒做對?

如果你是一個Python初學者,我這裡有一些小建議,希望你通讀完能夠有所裨益。 1.不要看到別人的回覆第一句話就說:給個程式碼吧!你應該想想為什麼。當你自己想出來再參考別人的提示,你就知道自己和別人思路的差異。     2.初學者請不要看太多太多的書那會

【PHP】之4反斜槓、3反斜槓的情況

背景: 今天在學習正則表示式,遇到了一個問題,php中4個反斜槓\在不同直譯器中的結果。 正文: 我們先來看看以下程式碼 echo '\';   執行之後報語法錯誤,提示unexpected'\'; ',即\'; 這幾個字元出了問題 Pars

STM32之內部3ADC+2DMA同時採集14路訊號

微控制器晶片:STM32F103VET6 首先要保證晶片內部有3個ADC和2個DMA。 採用微控制器內嵌的3個12位的ADC以及2個DMA對14路電壓進行測量讀取。其中,使用ADC1的4個通道,使用ADC2的4個通道,ADC1和ADC2共用DMA1,高16位為ADC2的資料

python練習:編寫一個程序,檢查3變量x,y,z,輸出其中最大的奇數。如果其中沒有奇數,就輸出一個消息進行說明。

int elif pri 檢查 說明 一個數 print 下一個 == python練習:編寫一個程序,檢查3個變量x,y,z,輸出其中最大的奇數。如果其中沒有奇數,就輸出一個消息進行說明。 筆者是只使用條件語句實行的。(if-else) 重難點:先把三個數進行由小到大的排

python資源 | 3流行的 Python 整合開發環境

0.Spyder 開源 Python IDE。Spyder是一個強大的科學環境,用Python編寫,由科學家、工程師和資料分析人員設計和設計。它將綜合開發工具的高階編輯、分析、除錯和分析功能與科學軟體包的資料探索、互動執行、深度檢查和漂亮的視覺化功能結合在一起。 除了它的許多內建功能之外,它