您好,登錄后才能下訂單哦!
Python人才要具備哪些技能?requests庫有哪些技巧?Python入門簡單、精通不易,因此很多人選擇專業系統的學習。根據各大招聘網站反饋的信息顯示,理論基礎與實戰經驗兼備的Python人才不僅就業速度快、就業薪資更高。接下來小編就給大家分享一下requests庫相關知識及使用技巧。
requests是Python實現的簡單易用的HTTP庫,使用起來比urllib簡潔很多。因為是第三方庫,所以我們在使用前requests需要cmd安裝,輸入pip install requests命令,安裝完成后import一下,正常則說明可以開始使用。
requests庫基本方法介紹:
requests.request():構造一個請求,支撐一下各方法的基礎方法;
requests.get():獲取HTML網頁的主要方法,對應于HTTP的GET;
requests.head():獲取HTML網頁頭信息的方法,對應于HTTP的HEAD;
requests.post():向HTML網頁提交POST請求的方法,對應于HTTP的POST;
requests.put():向HTML網頁提交PUT請求的方法,對應于HTTP的PUT;
requests.patch():向HTML網頁提交局部修改請求,對應于HTTP的PATCH;
requests.delete():向HTML頁面提交刪除請求,對應于HTTP的DELETE;
r.states_code:獲取返回的狀態碼;
r.text / r.read():HTTP響應內容文本形式返回;
r.content:HTTP響應內容的二進制形式;
r.json():HTTP響應內容的json形式;
r.raw:HTTP響應內容的原始形式;
r.encoding:返回請求的url;
r.encoding:從HTTP header中猜測的響應內容編碼方式;
r.apparent_encoding:從內容中分析出的響應內容編碼方式(備選編碼方式);r.apparent_encoding:從內容中分析出的響應內容編碼方式(備選編碼方式)。
requests.get( )方法
"""
r = requests.get(url,params=None,**kwargs)
~url :模擬獲取頁面的url連接
~params :url 中的額外參數,字典或字節流格式,無需對其編碼
~**kwargs :12個控制訪問的參數
"""
import requests
data = {
"age":"22",
"name":"germey",
}
response = requests.get("http://httpbin.org/get",params=data) #給URL傳參
print(response.text)
'''Requests 會推測其編碼然后解碼,但是 HTTP 和 XML 自身可以指定編碼,這樣的話,應該使用 r.content 獲取二進制的內容,然后設置 r.encoding='utf8' 為相應的解碼。
'''
定制請求頭
傳遞一個dict給headers參數就可以,Requests不會基于定制header的具體情況改變自己的行為。只不過在最后的請求中,所有的header信息都會被傳遞進去。
import requests
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
}
response = requests.get("https://www.zhihu.com/expiore",headers=headers)
print(response.text)
注意: 定制 header 的優先級低于某些特定的信息源,例如:
如果在.netrc中設置了用戶認證信息,使用headers=設置的授權就不會生效。而如果設置了auth=參數,.netrc的設置就無效了。
如果被重定向到別的主機,授權 header 就會被刪除。
代理授權header會被URL提供的代理身份覆蓋掉。
在我們能判斷內容長度的情況下,header的Content-Length會被改寫。
代理設置
設置proxies參數來配置代理,同時也可以設置代理密碼認證,還可以使用SOCKS代理。
import requests
proxies= {
"http":"http://127.0.0.1:9999", (代理地址,端口)
"https":"http://127.0.0.1:8888"
}
response = requests.get("https://www.baidu.com",proxies=proxies)
print(response.text)
'''
proxies = {"http": "http://user:pass@10.10.1.10:3128/",}
proxies = {
'http': 'socks5://user:pass@host:port',
'https': 'socks5://user:pass@host:port'
}
'''
只要大家真正掌握了Python技術,勝任以上崗位就不是難題。如果你想快速學習Python技術,那就趕快加入到專業的學習吧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。