基本實例
import requests url= 'https://www.baidu.com/' response = requests.get(url) print(type(response)) print(response.status_code)#狀態碼 print(type(response.text)) print(response.text)#打開網頁源代碼 print(response.cookies)#獲取cookies
各種請求方式
import requests url= 'https://www.baidu.com/' requests.get(url) requests.put(url) requests.delete(url) requests.head(url) requests.options(url)
帶參數的GET請求
import requests data={ } reponse = requests.get(url,params=data)
解析JSON
import requests import json reponse = requests.get(url) print(requests.json()) print(json.loads(reponse.text))
獲取二進制數據和保存
import requests import json reponse = requests.get(url) print(reponse.text) print(reponse.content)
import requests import json reponse = requests.get(url) with open(' ',' ') as f: f.write(reponse.content) f.close()
添加headers
import requests import json headers = { } response = requests.get(url,headers=headers)
基本POST請求
mport requests import json data = { } headers={ } response = requests.post(url,data=data,headers=headers)
Reponse屬性
import requests url= 'https://www.baidu.com/' response = requests.get(url) print(type(response)) print(response.status_code)#狀態碼 print(type(response.text)) print(response.text)#打開網頁源代碼 print(response.cookies)#獲取cookies print(response.history) print(response.url)
文件上傳
import requests files = {'file':open('','rb')} reponse = requests.post(url,files=files)
維持會話
import requests s = requests.session() s.get(url_1) response = s.get(url_2)
證書認證
import requests from requests.packages import urllib3 urllib3.disable_warnings()#消除警告 response = requests.get(url,verify=False)
代理
import requests proxies = { "http": "https": } requests.get(url,proxies=proxies)
pip3 install 'requests[socks]' 使用socks代理
import requests from requests.exceptions import ReadTimeout try: response = requests.get(url,timeout= ) except ReadTimeout: print("time out")
認證設置
import requests from requests.auth import HTTPBasicAuth response = requests.get(url,auth=HTTPBasicAuth('',''))
import requests response = requests.get(url,auth=('',''))
異常處理