爬蟲基本原理概述 ---- 第一章節

1. 爬蟲基本流程

爬蟲基本工作流程是:發起請求、獲取響應內容、解析響應內容、保存數據

① 發起請求:通過HTTP庫向目標站點發起請求,即發送一個Request,請求可以包含額外的headers等信息,等待服務器響應。

② 獲取響應內容:如果服務器能正常響應,會得到一個Response,Response的內容便是所要獲取的頁面內容,類型可能有HTML,Json字符串,二進制數據(如圖片視頻)等類型

③ 解析響應內容:得到的內容 可能是HTML,可以用正則表達式、網頁解析庫進行解析可能是Json,可以直接轉爲Json對象解析 ,可能是二進制數據,可以做保存或者進一步的處理。

④ 保存數據:保存形式多樣,可以存爲文本,也可以保存至數據庫,或者保存特定格式的文件。

2. 請求與響應

         瀏覽器發送消息給該網址所在的服務器,這個過程叫做 HTTP Request(請求)。服務器收到瀏覽器發送的消息後,能夠根據瀏覽器發送消息的內容,做相應處理,然後把消息回傳給瀏覽器。這個過程叫做 HTTP Response(響應)。 瀏覽器收到服務器的Response信息後,會對信息進行相應處理,然後展示。

3. 請求

① 請求方式:主要有GET、POST兩種類型,另外還有HEAD、PUT、DELETE、OPTIONS等。
② 請求URL:URL全稱統一資源定位符,如一個網頁文檔、一張圖片、一個視頻等都可以用URL唯一來確定。
③ 請求頭:包含請求時的頭部信息,如User-Agent、Host、Cookies等信息。
④ 請求體:請求時額外攜帶的數據,如表單提交時的表單數據

4. 響應

① 響應狀態:有多種響應狀態,如200代表成功、301跳轉、404找不到頁面、502服務器錯誤
② 響應頭:如內容類型、內容長度、服務器信息、設置Cookie等等
③ 響應體:最主要的部分,包含了請求資源的內容,如網頁HTML、圖片二進制數據等

5. 抓取內容數據類型

① 網頁文本:如HTML文檔、Json格式文本等
② 圖片:獲取到的是二進制文件,保存爲圖片格式
③ 視頻:同爲二進制文件,保存爲視頻格式即可
④ 其他數據:只要是能請求到的,一般都能獲取

6. 解析內容的方式

         直接處理、Json解析、正則表達式、bs4、PyQuery和Path等方式。如果遇到js渲染問題可以通過 分析Ajax請求、Selenium/WebDriver、Splash、PyV8和Ghost等來處理。

8. 數據的保存

① 文本:純文本、Json、Xml等
② 關係型數據庫:如MySQL、Oracle、SQL Server等具有結構化表結構形式存儲
③ 非關係型數據庫:如MongoDB、Redis等Key-Value形式存儲
④ 二進制文件:如圖片、視頻、音頻等等直接保存成特定格式即可

第二章節:[]()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章