Python Requests 基礎(chǔ)入門
首先,Python 標(biāo)準(zhǔn)庫中的 urllib2 模塊提供了你所需要的大多數(shù) HTTP 功能,但是它的 API 不友好。它是為另一個時代、另一個互聯(lián)網(wǎng)所創(chuàng)建的。它需要巨量的工作,甚至包括各種方法覆蓋,來完成最簡單的任務(wù),所以學(xué)習(xí)reuqests模塊,比較簡潔好用(以后慢慢會學(xué)習(xí)scapy,更強大的庫),安裝就不用說了
1 導(dǎo)入模塊
>>> import requests
2 直觀感受一下發(fā)送請求的簡潔
>>> r = requests.get('your url')
>>> r = requests.post('your url')
#put delete head options方法也是這種用法
3 為url傳遞參數(shù)
>>> url_params = {'key':'value'} #字典傳遞參數(shù),如果值為None的鍵不會被添加到url中
>>> r = requests.get('your url',params = url_params)
>>> print(r.url)
your url?key=value
4 響應(yīng)的內(nèi)容
>>> r.encoding #獲取當(dāng)前的編碼
>>> r.encoding = 'utf-8' #設(shè)置編碼
>>> r.text #以encoding解析返回內(nèi)容
>>> r.content #以字節(jié)形式(二進制)返回
>>> r.json() #以json形式返回,前提返回的內(nèi)容確保是json格式的,不然解析出錯會拋異常
5 定制頭和coookie信息
>>> header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0'}
>>> cookie = {'key':'value'}
>>> r = requests.get/post('your url',headers=header,cookies=cookie)
6 發(fā)送post數(shù)據(jù)請求
>>> send = {'key':'value'}
>>> r = requests.post('your url',data = send) # 如果你傳遞一個 string 而不是一個dict ,那么數(shù)據(jù)會被直接發(fā)布出去,這個也可以上傳文件
7 響應(yīng)狀態(tài)碼
>>> r.status_code #如果不是200,可以使用 r.raise_for_status() 拋出異常
8 響應(yīng)
>>> r.headers #返回字典類型,頭信息
# r.requests.headers 返回發(fā)送到服務(wù)器的頭信息
>>> r.cookies #返回cookie
>>> r.history #返回重定向信息,當(dāng)然可以在請求是加上allow_redirects = false 阻止重定向
9 超時
>>> r = requests.get('url',timeout=1)#設(shè)置秒數(shù)超時,僅對于連接有效
10 會話對象,讓你能夠跨請求保持某些參數(shù)
>>> s = requests.Session()
>>> s.auth = ('auth','passwd')
>>> s.headers = {'key':'value'}
>>> r = s.get('url')
>>> r1 = s.get('url1')
11 代理
>>> proxies = {'http':'ip1','https':'ip2' }
>>> requests.get('url',proxies=proxies)
腳本之家推薦閱讀:
相關(guān)文章
Python解決MySQL數(shù)據(jù)處理從SQL批量刪除報錯
這篇文章主要為大家介紹了Python解決MySQL數(shù)據(jù)處理從SQL批量刪除報錯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12Python全局變量與global關(guān)鍵字常見錯誤解決方案
這篇文章主要介紹了Python全局變量與global關(guān)鍵字常見錯誤解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10