很多人都將網際網路比喻成一張非常大的網,將世界連線起來。如果說網際網路是一張網,那麼爬蟲就像在網上爬的小蟲子,通過網頁的鏈結位址來尋找網頁,通過特定的搜尋演算法來確定路線,通常從**的某乙個頁面開始,讀取該網頁的內容,找到該網頁中的其他鏈結位址,然後通過這些鏈結位址尋找下乙個網頁,就這樣一直迴圈下去,直到將該**的所有網頁全部抓取為止。
發起請求:
使用http庫向目標站點發起請求,即傳送乙個request
request包含:請求頭、請求體等
解析網頁:
解析html資料:正規表示式,第三方解析庫如beautifulsoup,pyquery等
解析json資料:json模組
解析二進位制資料:以b的方式寫入檔案
儲存資源:
資料庫爬蟲的第乙個步驟就是對起始 url 傳送請求,以獲取其返回的響應
值得注意的是,傳送請求實質上是指傳送請求報文的過程
請求報文包括以下四個方面:請求行、請求頭、空行和請求體。
(1)請求行
請求行由請求方法、請求 url 和 http 協議版本 3 個字段組成,欄位間使用空格分隔
請求方法:請求方法是指對目標資源的操作方式,常見的有 get 方法和 post 方法
get:從指定的資源請求資料,查詢字串包含在 url 中傳送http 協議版本:http 協議是指通訊雙方在通訊流程和內容格式上共同遵守的標準post:向指定的資源提交要被處理的資料,查詢字串包含在請求體中傳送
(2)請求頭
請求頭被認為是請求的配置資訊,以下列舉出常用的請求頭資訊
user-agent:包含發出請求的使用者的資訊,設定 user-agent 常用於處理反爬蟲(3)空行cookie:包含先前請求的內容,設定 cookie 常用於模擬登陸
空行標誌著請求頭的結束
(4)請求體
請求體根據不同的請求方法包含不同的內容
如果是get方式,請求體沒有內容
如果是post方式,請求體是format data
爬蟲的第二個步驟就是獲取特定 url 返回的響應,以提取包含在其中的資料。
同樣的,響應其實是指完整響應報文,它包括四個部分:響應行、響應頭、空行和響應體。
(1)響應行
響應行由 http 協議版本、狀態碼及其描述組成。
http 協議版本:http 協議是指通訊雙方在通訊流程和內容格式上共同遵守的標準。
狀態碼及其描述:
100~199:資訊,伺服器收到請求,需要請求者繼續執行操作(2)響應頭200~299:成功,操作被成功接收並處理
300~399:重定向,需要進一步的操作以完成請求
400~499:客戶端錯誤,請求包含語法錯誤或無法完成請求
500~599:伺服器錯誤,伺服器在處理請求的過程中發生錯誤
響應頭用於描述伺服器和資料的基本資訊,以下列舉出常用的響應頭資訊
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社群中間,更經常的稱為網頁...