這篇文章是接上篇: 。主要介紹另外一種請求方式。request。由於urlopen()方法引數有限,並不能滿足我們所有的需求,因此,request就應用而生啦。
import urllib.request
request=urllib.request.request('')
response=urllib.request.urlopen(request)
print(response.read().decode('utf-8'))
上述**使用了urlopen()方法,但是傳遞的引數不是url位址,而是request物件。請看class request
"""
class request:(url, data=none, headers={},
origin_req_host=none, unverifiable=false,method=none):
"""
url
請求的url
data
byte型別,一般需要解析,使用parse.urlencode編碼
headers
請求頭,字典型別
origin_req_host
請求的host名稱或者ip位址
unverifiable
表示這個請求是否是無法驗證的,預設是 false ,意思就是說使用者沒
有足夠許可權來選擇接收這個請求的結果 例如,我們請求 html 文件中的,但是我
們沒有向動抓取影象的許可權,這時 unverifiable 的值就是 true
method
請求型別post get put
請求示例程式:
import urllib.request
import urllib.parse
url=''
dict=
headers=
data=bytes(urllib.parse.urlencode(dict),'utf-8')
req=urllib.request.request(url=url,data=data,headers=headers,method='post')
response=urllib.request.urlopen(req)
print(response.read().decode('utf-8'))
返回結果:
,
"data": "",
"files": {},
"form": ,
"headers": ,
"json": null,
"origin": "117.176.186.251, 117.176.186.251",
"url": ""
}
req=urllib.request.request(url=url,data=data,method='post')也可以使用add_header來新增請求頭。
python 爬蟲學習二
是一種按照一定的規則,自動地抓取 資訊的程式或者指令碼。爬蟲是通過網頁的鏈結位址來尋找網頁,從 某乙個頁面開始,讀取網頁的內容,找到在網頁中的其它鏈結位址,然後通過這些鏈結位址尋找下乙個網頁,這樣一直迴圈下去,直到把這個 所有的網頁都抓取完為止。基本流程 1 發起請求 通過http庫向目標站點傳送r...
Python 爬蟲學習(二)
這一篇我們來學習如何對多頁的網路進行資訊爬取。在平時網頁瀏覽時不少看見許多網頁是有多頁的,像這樣 當我們不斷換頁時,我們會發現什麼呢?沒錯,看破真相的是乙個外表看似小孩,智慧型卻過於常人的.第三頁 第四頁 第五頁 def get info url,data none wb data requests...
Python學習之路之二
距離第一天開始這課課程已經過了兩三天,才陸陸續續將第二章選擇了一部分實踐完成。我的耐心啊,好讓人捉急 詳細過程說明 mm,就涉及了一些框架的問題。第一種方案 利用pyspider框架支援phantomjs,所以主使用 pyspider 安裝好框架之後,安裝方法 就可以編寫 執行了,根據 此教程的 執...