相比urllib,第三方庫requests更加簡單人性化,是爬蟲工作中常用的庫
初級爬蟲的開始主要是使用requests模組
安裝requests模組:
windows系統:
cmd中:
pip install requests
mac系統中:
終端中:
pip3 install requests
import requests
url = ''
reponse = requests.get(url)
#返回unicode格式的資料(str)
print(reponse.text)
response.text 返回unicode格式的資料(str)
response.content 返回位元組流資料(⼆進製)
response.conten') ⼿動進⾏解碼
response.url 返回url
response.encode() = 『編碼'
response.status_code: 檢查響應的狀態碼
例如:200 : 請求成功
301 : 永久重定向
302 : 臨時重定向
403 : 伺服器拒絕請求
404 : 請求失敗(伺服器⽆法根據客戶端的請求找到資源(⽹⻚))
500 : 伺服器內部請求
# 匯入requests
import requests
# 呼叫requests中的get()方法來向伺服器傳送請求,括號內的url引數就是我們
# 需要訪問的**,然後將獲取到的響應通過變數response儲存起來
url = '' # csdn官網鏈結鏈結
response = requests.get(url)
print(response.status_code) # response.status_code: 檢查響應的狀態碼
requests的幾種請求方式:
p = requests.get(url)
p = requests.post(url)
p = requests.put(url,data=)
p = requests.delete(url)
p = requests.head(url)
p = requests.options(url)
http預設的請求方法就是get
* 沒有請求體
* 資料必須在1k之內!
* get請求資料會暴露在瀏覽器的位址列中
get請求常用的操作:
1. 在瀏覽器的位址列中直接給出url,那麼就一定是get請求
2. 點選頁面上的超連結也一定是get請求
3. 提交表單時,表單預設使用get請求,但可以設定為post
(1). 資料不會出現在位址列中
(2). 資料的大小沒有上限
(3). 有請求體
(4). 請求體中如果存在中文,會使用url編碼!
requests.post()用法與requests.get()完全一致,特殊的是requests.post()有乙個data引數,用來存放請求體資料
當我們開啟乙個網頁時,瀏覽器要向**伺服器傳送乙個http請求頭,然後**伺服器根據http請求頭的內容生成當此請求的內容傳送給伺服器。
我們可以手動設定請求頭的內容:
import requests
header =
url = ''
reponse = requests.get(url,headers=header)
#列印文字形式
print(reponse.text)
使⽤requests新增**只需要在請求⽅法中(get/post)傳遞proxies引數就可以了
cookie :通過在客戶端記錄的資訊確定⽤戶身份
http是⼀種⽆連線協議,客戶端和伺服器互動僅僅限於 請求/響應過程,結束後 斷開,下⼀次請求時,伺服器會認為是⼀個新的客戶端,為了維護他們之間的連線, 讓伺服器知道這是前⼀個⽤戶發起的請求,必須在⼀個地⽅儲存客戶端資訊。
requests操作cookies很簡單,只需要指定cookies引數即可
import requests
#這段cookies是從csdn官網控制台中複製的
header =
url = ''
reponse = requests.get(url,headers=header)
#列印文字形式
print(reponse.text)
session :通過在服務端記錄的資訊確定⽤戶身份
這⾥這個session就是⼀個指 的是會話
會話物件是一種高階的用法,可以跨請求保持某些引數,比如在同乙個session例項之間儲存cookie,像瀏覽器一樣,我們並不需要每次請求cookie,session會自動在後續的請求中新增獲取的cookie,這種處理方式在同一站點連續請求中特別方便
什麼是ssl證書?
ssl證書是數字證書的⼀種,類似於駕駛證、護照和營業執照的電⼦副本。
因為配置在伺服器上,也稱為ssl伺服器證書。ssl 證書就是遵守 ssl協 議,由受信任的數字證書頒發機構ca,在驗證伺服器身份後頒發,具有服務 器身份驗證和資料傳輸加密功能
我們來爬乙個證書不太合格的**
import requests
url = ''
resp = requests.get(url)
print(resp.text)
它報了乙個錯
我們來修改一下**
import requests
url = ''
resp = requests.get(url,verify = false)
print(resp.text)
我們的**又能成功爬取了
Python爬蟲02 請求模組
七 json資料 response.text 返回unicode格式的資料 str response.content 返回位元組流資料 二進位制 response.content.decode utf 8 手動進行解碼 response.url 返回url response.encode 編碼 im...
爬蟲請求模組
1 版本 python2 urllib urllib2 python3 把urllib 和 urllib2合併,urllib.request 2 常用方法 2.1.1位元組流 response.read 字串 response.read decode utf 8 31 encode 字串 bytes...
爬蟲請求模組
2.urllib.parse 3.請求方式 4.request模組 5.requests原始碼分析 位元組流 response.read 字串 response.read decode utf 8 urllib.request.request headers 字典 import urllib.req...