python爬蟲甲殼 python爬蟲(一)

2021-10-17 01:45:32 字數 1616 閱讀 9601

一、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...