1 什麼是爬蟲?
網路爬蟲(又被稱為網頁蜘蛛,網路機械人)就是模擬瀏覽器傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式
原則上,只要是瀏覽器(客戶端)能做的事情,爬蟲都能夠做
2 爬蟲的本質
模擬瀏覽器開啟網頁,獲取網頁中想要的那部分資料
瀏覽器開啟網頁的過程如下:
請求的過程:
瀏覽器先向位址列中的url發起請求,並獲取相應
瀏覽器每獲取乙個響應就對展示出的結果進行新增(載入),js,css等內容會修改頁面的內容,js也可以重新傳送請求,獲取響應
從獲取第乙個響應並在瀏覽器中展示,直到最終獲取全部響應,並在展示的結果中新增內容或修改————這個過程叫做瀏覽器的渲染
注:
瀏覽器渲染出來的頁面和爬蟲請求的頁面很多時候並不一樣
所以在爬蟲中,需要以url位址對應的響應為準來進行資料的提取
3 http 協議
在傳送請求,獲取響應的過程中 就是傳送http或https的請求,獲取http或https的響應
4 爬蟲的分類
5 爬蟲的流程:
(1) 傳送請求: 使用http庫向目標站點發起請求,即傳送乙個request物件
request中包含什麼?
① url
url,即統一資源定位符,也就是我們所說的**;url用來表示網際網路上標準資源的路徑,網際網路上的每個資源都有乙個唯一的url
url格式:http:// host [:port] [path]
② 請求方式
以上,由於網路安全的限制,我們很難向url去發起put、patch、delete的請求,常用的請求就是get、post
③ 請求頭headers
http常見請求頭:
④ 請求體
請求攜帶的資料,如 post請求提交表單資料
(2) 獲取響應:如果伺服器能正常響應,會得到乙個response物件
response中包含什麼?
① 響應狀態
② 響應頭
如 內容型別,型別的長度,伺服器資訊、set-cookie (對方伺服器設定cookie到使用者瀏覽器的快取)
③ 響應體
包含請求資源的內容,如 html、、json
(3) 解析資料
(4) 儲存資料
檔案形式:txt、cvs、excel
資料庫:mysql、mongodb等
爬蟲原理的解析
什麼是request和response 能抓怎樣的資料 怎樣來解析 抓到的資料和看到的不一樣 怎樣儲存資料 瀏覽器傳送訊息給該 所在的伺服器,這個過程叫做http request。伺服器收到瀏覽器傳送的訊息後,能夠根據瀏覽器傳送訊息的內容,做相應處理,然後把訊息回傳給瀏覽器。這個過程叫做http r...
Python爬蟲 二 爬蟲原理
爬蟲就是請求 並提取資料的自動化程式。其中請求,提取,自動化是爬蟲的關鍵!下面我們分析爬蟲的基本流程 發起請求 通過http庫向目標站點發起請求,也就是傳送乙個request,請求可以包含額外的header等資訊,等待伺服器響應 獲取響應內容解析內容 得到的內容可能是html,可以用正規表示式,頁面...
python之爬蟲(二)爬蟲的原理
在上文中我們說了 爬蟲就是請求 並提取資料的自動化程式。其中請求,提取,自動化是爬蟲的關鍵!下面我們分析爬蟲的基本流程 發起請求 通過http庫向目標站點發起請求,也就是傳送乙個request,請求可以包含額外的header等資訊,等待伺服器響應 獲取響應內容解析內容 得到的內容可能是html,可以...