Python爬蟲之(六)requests庫的用法

2021-09-08 17:41:23 字數 2040 閱讀 1995

對了解一些爬蟲的基本理念,掌握爬蟲爬取的流程有所幫助。入門之後,我們就需要學習一些更加高階的內容和工具來方便我們的爬取。那麼這一節來簡單介紹一下 requests 庫的基本用法

pip install requests
req = requests.get("")

req = requests.post("")

req = requests.put("")

req = requests.delete("")

req = requests.head("")

req = requests.options("")

get請求

引數是字典,我們也可以傳遞json型別的引數:

import requests

url = "/s"

params =

response = requests.get(url, params=params)

print(response.url)

response.encoding = 'utf-8'

html = response.text

print(html)

post 請求

引數是字典,我們也可以傳遞json型別的引數:

url = ""

formdata =

response = requests.post(url, data=formdata)

response.encoding = 'utf-8'

html = response.text

print(html)

自定義請求頭部

偽裝請求頭部是採集時經常用的,我們可以用這個方法來隱藏:

headers = 

r = requests.get('', headers = headers)

print(r.request.headers['user-agent'])

設定超時時間

可以通過timeout屬性設定超時時間,一旦超過這個時間還沒獲得響應內容,就會提示錯誤

requests.get('', timeout=0.001)
**訪問

採集時為避免被封ip,經常會使用**。requests也有相應的proxies屬性

import requests

proxies =

requests.get("", proxies=proxies)

如果**需要賬戶和密碼,則需這樣

proxies =

session自動儲存cookies

seesion的意思是保持乙個會話,比如 登陸後繼續操作(記錄身份資訊) 而requests是單次請求的請求,身份資訊不會被記錄

# 建立乙個session物件 

s = requests.session()

# 用session物件發出get請求,設定cookies

s.get('')

ssl驗證
# 禁用安全請求警告

requests.packages.urllib3.disable_warnings()

resp = requests.get(url, verify=false, headers=headers)

**

含義resp.json()

獲取響應內容(以json字串)

resp.text

獲取響應內容 (以字串)

resp.content

獲取響應內容(以位元組的方式)

resp.headers

獲取響應頭內容

resp.url

獲取訪問位址

resp.encoding

獲取網頁編碼

resp.request.headers

請求頭內容

resp.cookie

獲取cookie

Python爬蟲 模擬瀏覽器訪問 Requests

有時候爬蟲需要加入請求頭來偽裝成瀏覽器,以便更好的抓取資料.開啟瀏覽器chrome找到user agent進行複製 headers headers get方法新增請求頭 print res.text 執行結果 requests庫不僅有get 方法,還有post 等方法.post 方法用於提交表單來爬...

python程式設計篇之爬蟲 六

scrapy,python開發的乙個快速 高層次的螢幕抓取和web抓取框架,用於抓取web站點並從頁面中提取結構化的資料。scrapy用途廣泛,可以用於資料探勘 監測和自動化測試。scrapy吸引人的地方在於它是乙個框架,任何人都可以根據需求方便的修改。它也提供了多種型別爬蟲的基類,如basespi...

Python爬蟲之PyQuery使用(六)

pyquery能夠通過選擇器精確定位 dom 樹中的目標並進行操作。pyquery相當於jquery的python實現,可以用於解析html網頁等。它的語法與jquery幾乎完全相同,對於使用過jquery的人來說很熟悉,也很好上手。有 4 種方法可以進行初始化 可以通過傳入 字串 lxml 檔案 ...