python 爬蟲開發基礎知識
阿新 • • 發佈:2018-11-01
- Request
請求方式 常用的有get post
請求的url
第一部分是協議(或稱為服務方式)
第二部分是存有該資源的主機IP地址(有時也包括埠號)
第三部分是主機資源的具體地址,如目錄和檔名等
請求頭 包含請求時的頭部資訊,如User-Agent,Host,Cookies等資訊
請求體 請求時攜帶的資料,如提交表單資料時候的表單資料 - Response
所有HTTP響應的第一行都是狀態行,依次是當前HTTP版本號,3位數字組成的狀態程式碼,以及描述狀態的短語,彼此由空格分隔
相應狀態 有多種響應狀態,如:200代表成功,301跳轉,404找不到頁面,502伺服器錯誤
響應頭 如內容型別,型別的長度,伺服器資訊,設定Cookie
響應體 最主要的部分,包含請求資源的內容,如網頁HTMl,圖片,二進位制資料等
3.URL解析
urlparse
from urllib.parse import urlparse
result = urlparse("
urlencode 這個方法可以將字典轉換為url引數
urlencode(params) params 是字典格式
4.Requests是用python語言基於urllib編寫的
response.text會出現亂碼的問題,所以這個使用response.content
這樣返回的資料格式其實是二進位制格式,然後通過decode()轉換為utf-8,這樣就解決了通過response.text直接返回顯示亂碼的問題.
Requests模組允許使用params關鍵字傳遞引數,以一個字典來傳遞這些引數
response = requests.get("
response = requests.post("http://httpbin.org/post",data=data)
檔案上傳
files= {"files":open("git.jpeg","rb")}
response = requests.post("http://httpbin.org/post",files=files)
獲取cookie response.cookies
證書驗證
from requests.packages import urllib3
urllib3.disable_warnings()
response = requests.get("
代理設定
requests.get("https://www.baidu.com",proxies=proxies)
認證設定
response = requests.get("http://120.27.34.24:9001/",auth=HTTPBasicAuth("user","123"))
異常
所有的異常方法都在requests.exceptions,使用時根據需要進行引入即可