Python爬蟲之二 學習Request

2021-09-27 04:38:45 字數 1539 閱讀 1850

這篇文章是接上篇: 。主要介紹另外一種請求方式。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 安裝好框架之後,安裝方法 就可以編寫 執行了,根據 此教程的 執...