1.什麼是爬蟲?
定義:爬蟲是請求網站並提取數據的自動化程序。
2,基本流程
發起請求---》獲取響應內容--》解析內容--》保存數據
通過http庫向目標站點發起請求,即發送一個Request,請求可以包含額外的headers等信息,等待服務器響應。
如果服務器正常響應,會得到一個Response,Response中的內容就是所需要獲取的頁面內容,類型是H5,Json字符串,二進制數據等類型。
得到的內容是HTML,就用正則表達式,網頁解析庫進行。可能是json.可以直接轉換爲json對象解析,如果是二進制數據就可以保存進行下一步的處理。
保存形式多樣,可以存爲文本,也可以保存到數據庫,或者保存至特殊的文本中。
3.1,Request:
我的瀏覽器---->訪問一個網站(www.baidu.com)---->站點是運行在一個電腦/服務器上面的(Reauest)【就是瀏覽器發送消息給網址所在的服務器】
站點是運行在一個電腦/服務器上面的(Reauest)--->返回一個數據Response---->得到你想要獲取的頁面【服務器接受到瀏覽器發送的消息後,能夠根據瀏覽器發送的消息做響應的處理,然後將消息回傳給瀏覽器,叫做Response】
比如(F12下的Network中的每一條記錄都是一個請求和響應)
3.2URL
定義:統一資源定位符,例如網站上的一張圖片,一個視頻都是可以用一個url鏈接做唯一標識的
3.3請求頭
一般都會加上use-agent cookie等進行
3.4請求體
請求時額外攜帶的數據,如表單提交時的表單數據等
4 Resonse中的內容
4.1狀態碼
200--success,,300-跳轉,,404--找不到頁面,,500以上--服務器處理錯誤
4.2響應頭
如內容類型,內容長度,服務器信息,設置Cookie等
4.3響應體
最主要的部分,包含了請求資源的內容,如網頁HTML,圖片二進制數據等
綜上所述,進行爬蟲先發送請求,然後判斷獲得請求的的狀態碼,然後再獲取body,最後分析body的內容。