1.urlopen函式
urllib2.urlopen(url[, www.cppcns.comdata[, timeout[, cafile[, capath[, cadefault[, context]]]]])
注:url表示目標網頁位址,可以是字串,也可以是請求物件request
req= urllib2.request(url, data,headers) response = urllib2.urlopen(req,timeout=3)
data表示post方式提交給目標伺服器的引數
data = urllib.urlencode(data)
import urllib,qxfxcpmcurllib2www.cppcns.com
action_url=""#用於測試post的**,返回提交的資料
values=
data=urllib.urlencode(values)#對表單資料編碼
rqst=urllib2.request(action_url,data)
response=urllib2.urlopen(rqst)#模擬提交表單資料到url並獲得響應
timeout表示超時時間設定。
返回值
這個函式可以像urllib.urlopen()那樣以url做引數。也能以request例項為引數,即用乙個request物件(下文構造方法)來對映你提出的http請求,在它最簡單的使用形式中你將用你要請求的位址建立乙個request物件,這個request物件中可以設定傳輸資料、headers等。通過呼叫urlopen並傳入request物件,將返回乙個file-like物件。urllib2還提供了介面來處理一般情況,例如:基礎驗證,cookies,**和其他,它們通過handlers和openers的物件實現。
2、request函式
urllib2.request(url[, data][, headers][, origin_req_host][, unverifiable])
用於構造request物件,可以傳遞data資料,新增請求頭(headers)等,構造好後作為的引數。
注:url表示目標網頁位址,可以是字串,也可以是請求物件request
data表示post方式提交給目標伺服器的引數
headers表示使用者標識,是乙個字典型別的資料,有些不允許指令碼的抓取,所以需要使用者**,像火狐瀏覽器的**就是類似:
mozilla/5.0 (x11; u; linux i686)gecko/20071127 firefox/2.0.0.11
瀏覽器的標準ua格式為:瀏覽器標識 (作業系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識 版本資訊 ,headers預設是
python-urllib/2.6
origin_req_host表示請求方的主機網域名稱或者ip位址。
headers =
import urllib
import urllib2
url = ''
user_agent = 'mozilla/4.0 (compatible; msie 5.5; windows nt)'
h =
req = urllib2.request(url,headers=h)
response = urllib2.urlopen(req)
print response.read()
3、build_opener()
build_opener([handler1 [ handler2, ... ]])
urllib2.urlopen()函式不支援驗證、cookie或者其它http高階功能。要支援這些功能,必須使用build_opener()函式建立自定義opener物件。
引數handler是handler例項,常用的有httpbasicauthhandler、httpcookieprocessor、proxyhandler等。
build_opener ()返回的物件具有open()方法,與urlopen()函式的功能相同。
如果要修改http報頭,可以用:
urllib2
opener = urllib2.build_opener()
opener.addheaders = [('user-agent', 'mozilla/5.0')]
opener.open('')
本文標題: python urllib2執行過程原理解析
本文位址:
Python urllib2使用總結
import urllib2 response urllib2.urlopen html response.read 這個過程就是基於簡單的請求 響應的模型 response urllib2.urlopen 實際上可以看作兩個步驟 1 我們向指定網域名稱傳送請求 request urllib2.re...
python urllib2查詢資料
最近為了更好的查詢老王python的外鏈,所以準備寫乙個python urllib2 查詢指令碼來查詢,一般查詢外鏈比較準確的工具還是yahoo的外鏈工具,但是有點不方便的就是,yahoo查出的外鏈要一頁一頁的翻,好累而且不好方便統計,我是想把 的外鏈全部讀取到檔案裡,這樣比較好在本地來進行統計。廢...
Python urllib2產生殭屍程序
最近發現,python 會產生很多殭屍程序,之前未發現,自從使用urllib2模組發http請求之後,便產生了大量殭屍程序,確定是由於urllib2產生,原始 如下 req urllib2.request url urllib2.urlopen req 最開始,想當然的任務,http請求不是長連線,...