spider基礎

一:互聯網簡介html

  互聯網是由各類計算機設備,經過鏈接介質相互鏈接而成的,目的是在不一樣的計算機之間傳輸數據,而且在互聯網上有大量的數據是免費的。互聯網的目的就是微辣方便彼此之間的數據共享,沒有互聯網,只能用U盤拷貝了。而爬蟲就是用於從互聯網中獲取有價值的數據,從本質上來看,爬蟲是一種應用程序,屬於客戶端的程序。web

二:爬蟲原理 正則表達式

  爬蟲是一種應用程序,用於從互聯網中獲取有價值的數據,從本質上來看,屬於client客戶端程序。咱們所謂的上網即是由用戶端計算機發送請求給目標計算機,將目標計算機的數據下載到本地的過程。chrome

此時用戶獲取網絡數據的方式爲:數據庫

  瀏覽器提交請求   -----  下載網頁代碼 ----- 解析/渲染成頁面json

而使用爬蟲程序須要作的事情即是:瀏覽器

  模擬瀏覽器發送請求 ----- 下載網頁代碼 ----- 只提取有用的數據 ----- 存放於數據庫或者文件中服務器

爬蟲的核心即是隻提取網頁代碼中對咱們有用的數據,最終保存獲得有價值的數據。cookie

三:爬蟲的基本流程網絡

  

#一、發送請求
發送請求以前還有一個分析請求:分析web頁面獲得發送請求必備數據。
使用http庫向目標站點發起請求,即發送一個Request
Request包含:請求頭、請求體

#二、獲取響應內容
若是服務器能正常響應,則會獲得一個Response
Resonse包含:html代碼,json,圖片、視頻等

#三、解析內容
解析html數據:正則表達式、第三方解析庫如:Beautifulsoup,pyquery等
解析json數據:json模塊
解析二進制數據:以二進制模式寫進文件

#四、保存數據
保存在數據庫、文件等方式。

3.1  HTTP請求分析

  首先要明確的是:爬蟲的核心原理就是模擬瀏覽器發送HTTP協議來偶去服務器上的數據,那麼要想服務器接受你的請求,則必須將本身的請求假裝的足夠像,這就須要HTTP請求分析這一過程。其次,HTTP協議是基於請求響應模型的,客戶端發送請求到服務器,服務器接受請求,處理後返回響應數據,須要關注的重點在於請求數據,只有服務器認爲合格合法的請求才會獲得服務器的響應。

利用Chrome開發者工具來分析請求

   Chrome瀏覽器提供強大的開發者工具,咱們能夠利用它來查看瀏覽器與服務器的整個通信過程。

 

上圖劃出了經常使用的幾個操做,如清空請求,保留日誌等等,另外一個經常使用操做就是清空cookie信息

打開chrome的設置頁面搜索cookie就能夠找到清空按鈕。

請求流程地址分析

1. 請求地址

  瀏覽器發送的請求url地址

2. 請求方法

  get中文須要url編碼,參數跟在地址後面

  post參數放在body中

3. 請求頭

 cookie:須要登陸成功才能訪問的頁面就須要傳遞cookie,不然不須要cookie

 user-agent:用戶代理,驗證客戶端類型

referer: 引用頁面,判斷是從哪一個頁面點擊過來的

 4. 請求體

   只在post請求時須要關注,一般post請求參數都放在請求體中,例如登陸時的用用戶名和密碼

5.  響應頭

   location:重定向的目標地址,僅在狀態碼爲3xx的時候出現,須要考慮重定向時的方法、參數等,瀏覽器會自動重定向,request模塊也會有。

  set-cookie:服務器返回的cookie信息,在訪問一些隱私頁面是須要帶上cookie的

 6. 響應體

  服務器返回的數據,可能如下幾種類型:

  HTML格式的靜態頁面,須要解析獲取須要的數據

  json格式的結構化數據,直接就是純粹的數據

  二進制數據(圖片視頻等),經過文件操做直接寫入文件

 四:總結(價值)

  爬蟲就是想網站發送請求,獲取資源後分析而且提取有用的數據的應用程序。互聯網中最寶貴的就是數據了,例如淘寶的商品數據,鏈家的房源信息,拉鉤的招聘信息等等,這些數據就像一座礦山,爬蟲就像是挖礦的工具,掌握了爬蟲技術,你就成了礦山老闆,各網站都在爲你免費提供數據。

相關文章
相關標籤/搜索