爬蟲 一 爬蟲簡介

2022-01-20 12:10:59 字數 2121 閱讀 2145

很多人都將網際網路比喻成一張非常大的網,將世界連線起來。如果說網際網路是一張網,那麼爬蟲就像在網上爬的小蟲子,通過網頁的鏈結位址來尋找網頁,通過特定的搜尋演算法來確定路線,通常從**的某乙個頁面開始,讀取該網頁的內容,找到該網頁中的其他鏈結位址,然後通過這些鏈結位址尋找下乙個網頁,就這樣一直迴圈下去,直到將該**的所有網頁全部抓取為止。 

發起請求:

使用http庫向目標站點發起請求,即傳送乙個request

request包含:請求頭、請求體等

解析網頁:

解析html資料:正規表示式,第三方解析庫如beautifulsoup,pyquery等

解析json資料:json模組

解析二進位制資料:以b的方式寫入檔案

儲存資源:

資料庫爬蟲的第乙個步驟就是對起始 url 傳送請求,以獲取其返回的響應

值得注意的是,傳送請求實質上是指傳送請求報文的過程

請求報文包括以下四個方面:請求行、請求頭、空行和請求體。

(1)請求行

請求行由請求方法、請求 url 和 http 協議版本 3 個字段組成,欄位間使用空格分隔

請求方法:請求方法是指對目標資源的操作方式,常見的有 get 方法和 post 方法

get:從指定的資源請求資料,查詢字串包含在 url 中傳送

post:向指定的資源提交要被處理的資料,查詢字串包含在請求體中傳送

http 協議版本:http 協議是指通訊雙方在通訊流程和內容格式上共同遵守的標準

(2)請求頭

請求頭被認為是請求的配置資訊,以下列舉出常用的請求頭資訊

user-agent:包含發出請求的使用者的資訊,設定 user-agent 常用於處理反爬蟲

cookie:包含先前請求的內容,設定 cookie 常用於模擬登陸

(3)空行

空行標誌著請求頭的結束

(4)請求體

請求體根據不同的請求方法包含不同的內容

如果是get方式,請求體沒有內容

如果是post方式,請求體是format data

爬蟲的第二個步驟就是獲取特定 url 返回的響應,以提取包含在其中的資料。

同樣的,響應其實是指完整響應報文,它包括四個部分:響應行、響應頭、空行和響應體。

(1)響應行

響應行由 http 協議版本、狀態碼及其描述組成。

http 協議版本:http 協議是指通訊雙方在通訊流程和內容格式上共同遵守的標準。

狀態碼及其描述:

100~199:資訊,伺服器收到請求,需要請求者繼續執行操作

200~299:成功,操作被成功接收並處理

300~399:重定向,需要進一步的操作以完成請求

400~499:客戶端錯誤,請求包含語法錯誤或無法完成請求

500~599:伺服器錯誤,伺服器在處理請求的過程中發生錯誤

(2)響應頭

響應頭用於描述伺服器和資料的基本資訊,以下列舉出常用的響應頭資訊

set-cookie:設定瀏覽器 cookie,以後當瀏覽器訪問符合條件的 url 時,會自動帶上該 cooike

(3)空行

空行標誌著響應頭的結束。

(4)響應體解析網頁實質上需要完成兩件事情,一是提取網頁上的鏈結,二是提取網頁上的資源。

(1)提取鏈結

提取鏈結實質上是指獲取存在於待解析網頁上的其他網頁的鏈結。

(2)提取資源

提取資料則是爬蟲的目的,常見的資料型別如下:

文字:html,json 等

:jpg,gif,png 等

最終,我們可以對所獲得的資源作進一步的處理,從而提取出有價值的資訊。

Python 爬蟲一 簡介

什麼是爬蟲?爬蟲可以做什麼?爬蟲的本質 爬蟲的基本流程 什麼是request response 爬取到資料該怎麼辦 網路爬蟲 又被稱為網頁蜘蛛,網路機械人,在foaf社群中間,更經常的稱為網頁追逐者 是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻 自動...

Scrapy爬蟲 二 爬蟲簡介

列幾個簡單的例子,看看就行 urllib庫 基於python3.5 encoding utf 8 import urllib.request def download data url response urllib.request.urlopen url print response.getcod...

python爬蟲介紹 python 爬蟲簡介

初識python爬蟲 網際網路簡單來說網際網路是由乙個個站點和網路裝置組成的大網,我們通過瀏覽器訪問站點,站點把html js css 返回給瀏覽器,這些 經過瀏覽器解析 渲染,將豐富多彩的網頁呈現我們眼前 一 什麼是爬蟲 網路爬蟲 又被稱為網頁蜘蛛,網路機械人,在foaf社群中間,更經常的稱為網頁...