一、http協議
1.基本概念
http,hypertext transfer transfer peotocol,超文字傳輸協議
http是乙個基於「請求與響應」模式的、無狀態的應用層協議
http協議採用url作為定位網路資源的標識,url格式如下:
port:埠號,預設埠為80
path:請求資源的路徑
http url例項:
http url的理解:
url是通過http協議訪問資源internet路徑,乙個url對應乙個資料資源
2.http協議對資源的操作
get 請求url位置的資源
head 請求url位置資源的響應訊息報告,即獲得該資源的頭部資訊
post 請求向url位置的資源後附加新的資料
put 請求向url位置儲存乙個資源,覆蓋原url位置的資源
patch 請求區域性更新url位置的資源,即改變該處資源的部分內容
delete 請求刪除url位置儲存的資源
其中get、heade方法主要是用於獲取資料,put、post、patch、delete主要用於提交資料
3.patch與put的區別
假設url位置有一組資料userinfo,包括userid,username等20各欄位
需求:使用者修改了username,其他不變
採用patch,僅向url提交username的區域性跟新請求
採用put,必須將所有的20個字段一併提交到url,未提交欄位將被刪除
patch的最主要的好處:節省網路頻寬
二、requests庫的使用
requests庫的7個主要方法:
1、get方法
(一)requests.get(url,params=none,**kwargs)
params:url中的額外引數,字典或位元組流格式,可選
**kwargs:12各控制訪問的引數
(二)response物件
response物件的屬性
r.status_code http請求的返回狀態,200表示連線成功,404或其他表示失敗
r.text http響應內容的字串形式
r.encoding 從http header中猜測的響應內容編碼方式
r.content http響應內容的二進位制形式
(三)response的編碼
r.encoding:如果header中不存在charset,則認為編碼為iso--8859-1
r.text根據r.encoding顯示網頁內容
可以看作是r.encoding的備選
例子:#-*- coding:utf-8 -*-#!/user/bin/env.python#author:mr wu
importrequests
url=""r=requests.get(url)print(r.encoding) #iso-8859-1
print(r.text[1000:2000]) #無法正常顯示字元
'''pan class="bg s_btn_wr">
python爬蟲 非同步爬蟲
壞處 無法無限制的開啟多執行緒或者多程序。執行緒池 程序池 適當使用 使用非同步實現高效能的資料爬取操作 人多力量大 環境安裝 pip install aiohttp 使用該模組中的clientsession 2表示同時存在兩個協程 pool pool 2 urls for i in range 1...
Python爬蟲 初識爬蟲
模擬瀏覽器開啟網頁,獲取網頁中我們想要的那部分資料 瀏覽器開啟網頁的過程 當你在瀏覽器中輸入位址後,經過dns伺服器找到伺服器主機,向伺服器傳送乙個請求,伺服器經過解析後傳送給使用者瀏覽器結果,包括html,js,css等檔案內容,瀏覽器解析出來最後呈現給使用者在瀏覽器上看到的結果 瀏覽器傳送訊息給...
python爬蟲基本流程 Python爬蟲流程
python爬蟲流程 主要分為三個部分 1 獲取網頁 2 解析網頁 獲取資料 儲存資料 三個流程的技術實現 1.獲取網頁 獲取網頁的技術基礎 urllib requests selenium 獲取網頁的高階技術 多執行緒抓取 登入抓取 突破ip限制和伺服器抓取 2.解析網頁 解析網頁的技術基礎 re...