requests 模塊
requests 繼承了 urllib2 的所有特性阔逼。requests 支持 HTTP 連接保持和連接池她按,支持使用 cookie 保持會話床未,支持文件上傳,支持自動確定響應(yīng)內(nèi)容的編碼俘侠,支持國際化的 URL 和 POST 數(shù)據(jù)自動編碼
requests 的底層實現(xiàn)其實就是 urllib3
- request.get
# headers---->請求頭的字典 params---->url請求參數(shù)的字典
# auth---->如果是Web客戶端驗證象缀,需要添加 auth = (賬戶名, 密碼)
requests.get(url, params, headers, auth)
# 查看響應(yīng)內(nèi)容,response.text 返回的是Unicode格式的數(shù)據(jù)
response.text # <type 'unicode'>
# 查看響應(yīng)內(nèi)容爷速,response.content 返回的字節(jié)流數(shù)據(jù)
print respones.content # <type 'str'>
print response.url
print response.encoding
print response.status_code
- request.post
response = requests.post(url, data, headers)
# 如果是json文件可以直接顯示
print response.json()
- 代理(proxies參數(shù))
- 如果需要使用代理央星,你可以通過為任意請求方法提供 proxies 參數(shù)來配置單個請求
- 也可以通過本地環(huán)境變量 HTTP_PROXY 和 HTTPS_PROXY 來配置代理
export HTTP_PROXY = "http://12.34.56.79:9527"
export HTTPS_PROXY = "https://12.34.56.79:9527"
- cookies
# 返回CookieJar對象:
cookiejar = response.cookies
# 將CookieJar轉(zhuǎn)為字典:
cookiedict = requests.utils.dict_from_cookiejar(cookiejar)
- session
# 創(chuàng)建 session 對象,可以保存 Cookie 值
ssion = requests.session()
# 發(fā)送附帶用戶名和密碼的請求遍希,并獲取登錄后的Cookie值等曼,保存在ssion里
ssion.post()
# ssion包含用戶登錄后的Cookie值,可以直接訪問那些登錄后才可以訪問的頁面
response = ssion.get()
- 處理HTTPS請求 SSL 證書驗證
# verify 默認為True
response = requests.get("https://www.baidu.com/", verify=True)
response = requests.get("https://www.12306.cn/mormhweb/", verify = False)