requests模塊的基本使用
- 什么是requests模塊?
- Python中封裝好的一個基于網路請求的模塊
requests模塊的作用?
- 用來模擬瀏覽器發請求
requests模塊的環境安裝:
- pip install requests
requests模塊的撰寫流程:
- 指定url
- 發起請求:(1) Get(url, params, headers)(2) Post(url, data, headers)
- 獲取回應資料
- 持久化存盤
import requests #1.指定url url = 'https://www.sogou.com/' #2.請求發送get,get發回傳值是一個回應物件 response = requests.get(url=url) #3.獲取回應資料 page_text = response.text #回傳的是字串形式的回應資料 #4.持久化儲存 with open('sogou.html','w',encoding='utf-8') as fp: fp.write(page_text)
引數動態化
- 有些情況下我們是需要將請求引數進行更改,將get或者post請求對應的請求引數封裝到一個字典(鍵值對=請求引數)中,然后將字典作用到get方法的params引數中或者作用到post方法的data引數中
UA檢測(反爬機制):
- 是請求載體的身份標識,服務器端會檢測請求的UA來鑒定其身份,
- 反反爬策略:UA偽裝,通過抓包工具捕獲某一款瀏覽器的UA值,封裝到字典中,且將該字典作用到headers引數中
import requests url = 'https://www.sogou.com/web' #實作引數動態化 wd = input('enter a key:') params = { 'query':wd } #解決UA檢測 headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36' } #在請求中需要將請求引數對應的字典作用到params這個get方法的引數中 response = requests.get(url=url,params=params,headers=headers) response.encoding = 'utf-8'#修改回應資料的編碼格式,不加這行會出現亂碼 page_text = response.text #持久化存盤 fileName = wd+'.html' with open(fileName,'w',encoding='utf-8') as fp: fp.write(page_text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/194786.html
標籤:其他
