為什麼要重點學習requests模組,而不是urllib
- requests的底層實現就是urllib
- requests在python2 和python3中通用,方法完全一樣
- requests簡單易用
- requests能夠自動幫助我們解壓(gzip壓縮的等)網頁內容
## requests模組傳送簡單的get請求並獲取響應
# 需求: 通過requests向百度首頁傳送請求,獲取百度首頁的資料.
import requests
# 向目標url傳送get請求
r = requests.get("")
# 列印響應內容 r -> response 指的是響應
print(r.content)response.text 和response.content的區別
- response.text:
型別:str
解碼型別: 根據http 頭部對響應的編碼作出有根據的推測,推測的文字編碼
如何修改編碼方式:response.encoding=」gbk」
response.content:
型別:bytes
解碼型別: 沒有指定
如何修改編碼方式:response.content.deocde(「utf8」)
獲取網頁原始碼的通用方式:
r.content.decode()
r.content.decode(「gbk」)
r.text
傳送帶header的請求
import requests
url = ''
response = requests.get(url)
print(response.content)
# 列印響應對應請求的請求頭資訊
print(response.request.headers)header的形式:字典
headers = 用法
requests.get(url, headers=headers)完整的**
import requests
url = ''
headers =
# 在請求頭中帶上user-agent,模擬瀏覽器傳送請求
response = requests.get(url, headers=headers)
# print(response.content)
# 列印請求頭資訊
print(response.request.headers)請求引數的形式:字典
kw = 請求引數的用法
requests.get(url,params=kw)關於引數的注意點 :
在url位址中, 很多引數是沒有用的,比如百度搜尋的url位址,其中引數只有乙個字段有用,其他的都可以刪除 如何確定那些請求引數有用或者沒用:挨個嘗試! 對應的,在後續的爬蟲中,越到很多引數的url位址,都可以嘗試刪除引數
兩種方式:傳送帶引數的請求
1. 對/swd=python發起請求可以使用requests.get(url, params=kw)的方式
# 方式一:利用params引數傳送帶引數的請求
import requests
headers =
# 這是目標url
# url = '/swd=python'
# 最後有沒有問號結果都一樣
url = '/s'
# 請求引數是乙個字典 即wd=python
kw =
# 帶上請求引數發起請求,獲取響應
response = requests.get(url, headers=headers, params=kw)
# 當有多個請求引數時,requests接收的params引數為多個鍵值對的字典,比如 'wd=python&a=c'-->
print(response.content)2.也可以直接對/swd=python完整的url直接傳送請求,不使用params引數
# 方式二:直接傳送帶引數的url的請求
import requests
headers =
url = '/swd=python'
# kw =
# url中包含了請求引數,所以此時無需params
response = requests.get(url, headers=headers)
爬蟲之requests模組
requests 唯一的乙個非轉基因的 python http 庫,人類可以安全享用。警告 非專業使用其他 http 庫會導致危險的 包括 安全缺陷症 冗餘 症 重新發明輪子症 啃文件症 抑鬱 頭疼 甚至死亡。今日概要 知識點回顧 為什麼要使用requests模組 使用requests模組 如何使用...
爬蟲之requests模組
pip install requests import requests ret requests.get url 原函式 get url,params none,kwargs ret.encoding utf 8 指定解析資料是使用的編碼格式 print ret.content 響應的資料,byt...
爬蟲之requests模組2
今日內容 知識點回顧 引入 coding utf 8 import requests if name main 張三人人網個人資訊頁面的url url 偽裝ua headers 傳送請求,獲取響應物件 response requests.get url url,headers headers 將響應...