爬蟲request庫的get,post,https跳過驗證

在python3中,整合了urllib,urllib2。。。等等
python3中使用urllib.request來使用
request的用法總結:

基本GET請求(headers參數 和 parmas參數)

  1. 最基本的GET請求可以直接用get方法
response = requests.get("http://www.baidu.com/")
  1. 添加 headers 和 查詢參數

如果想添加 headers,可以傳入headers參數來增加請求頭中的headers信息。如果要將參數放在url中傳遞,可以利用 params 參數。

importrequestskw = {'wd':'長城'}

headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}

# params 接收一個字典或者字符串的查詢參數,字典類型自動轉換為url編碼,不需要urlencode()

response = requests.get("http://www.baidu.com/s?", params = kw, headers = headers)

# 查看響應內容,response.text 返回的是Unicode格式的數據

# 查看響應內容,response.content返回的字節流數據

# 查看完整url地址: response.url

# 查看響應頭部字符編碼response.encoding

# 查看響應碼printresponse.status_code

使用response.text 時,Requests 會基于 HTTP 響應的文本編碼自動解碼響應內容,大多數 Unicode 字符集都能被無縫地解碼。

使用response.content 時,返回的是服務器響應數據的原始二進制字節流,可以用來保存圖片等二進制文件。

基本POST請求(data參數)

  1. 最基本的GET請求可以直接用post方法
response = requests.post("http://www.baidu.com/", data = data)
  1. 傳入data數據
    對于 POST 請求來說,我們一般需要為它增加一些參數。那么最基本的傳參方法可以利用 data 這個參數。
import requests

formdata = {"type":"AUTO","i":"i love python","doctype":"json","xmlVersion":"1.8","keyfrom":"fanyi.web","ue":"UTF-8","action":"FY_BY_ENTER","typoResult":"true"}

url ="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"

headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"}

response = requests.post(url, data = formdata, headers = headers)

print(response.text)

# 如果是json文件可以直接顯示response.json()

Requests也可以為HTTPS請求驗證SSL證書:

要想檢查某個主機的SSL證書,你可以使用 verify 參數(也可以不寫)

importrequestsresponse = requests.get("https://www.baidu.com/", verify=True)# 也可以省略不寫# 

response = requests.get("https://www.baidu.com/")printr.text

跳過驗證

r = requests.get("https://www.12306.cn/mormhweb/", verify =False)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,881評論 18 139
  • Python入門網絡爬蟲之精華版 網址: https://github.com/lining0806/Python...
    ZHANG_GO閱讀 658評論 0 2
  • Python學習網絡爬蟲主要分3個大的版塊:抓取,分析,存儲 另外,比較常用的爬蟲框架Scrapy,這里最后也詳細...
    楚江數據閱讀 1,478評論 0 6
  • 29 是日心卦 每日抽一卦,就像每天照照鏡子, 看看當下的心浮現了什么 震上天下雷天大壯 烏云蓋頂,電閃雷鳴,路上...
    楊梵妮閱讀 276評論 0 0
  • A小姐覺得自己又有談戀愛的感覺了,這不是她的第一次戀愛,但她希望是最后一次。 A小姐的戀愛經歷不多,一次無疾而終的...
    許迎閱讀 439評論 0 0