1. 程式人生 > 其它 >爬蟲第一課:爬蟲的基本原理

爬蟲第一課:爬蟲的基本原理

技術標籤:爬蟲爬蟲

1.什麼是爬蟲

請求⽹站並提取資料的⾃動化程式

2.爬蟲基本流程

  • 發起請求。通過HTTP庫向⽬標站點發起請求,即傳送⼀個Request,請求可以包含額外的headers等資訊,等待伺服器響應。
  • 獲取響應內容。如果伺服器能正常響應,會得到⼀個Response,Response的內容便是所要獲取的⻚⾯內容,型別可能有HTML,Json字串,⼆進位制資料(如圖⽚視訊)等型別。
  • 解析內容,得到的內容可能是HTML,可以⽤正則表示式、⽹⻚解析庫進⾏解析。可能是Json,可以直接轉為Json物件解析,可能是⼆進位制資料,可以做儲存或者進⼀步的處理。
  • 儲存資料。儲存形式多樣,可以存為⽂本,也可以儲存⾄資料庫,或者儲存特定格式的⽂件。

3.什麼是Request和Response?

  • 瀏覽器就傳送訊息給該⽹址所在的伺服器,這個過程叫做HTTP Request。
  • 伺服器收到瀏覽器傳送的訊息後,能夠根據瀏覽器傳送訊息的內容,做相應處理,然後把訊息回傳給瀏覽器。這個過程叫做HTTP Response。
  • 瀏覽器收到伺服器的Response資訊後,會對資訊進⾏相應處理,然後展示。

Request

  • 請求⽅式.主要有GET、POST兩種型別,另外還有HEAD、PUT、DELETE、OPTIONS等。
  • 請求URL.URL全稱統⼀資源定位符,如⼀個⽹⻚⽂檔、⼀張圖⽚、⼀個視訊等都可以⽤URL唯⼀來確定。
  • 請求頭.包含請求時的頭部資訊,如User-Agent、Host、Cookies等資訊。
  • 請求體.請求時額外攜帶的資料如表單提交時的表單資料.

Response

  • 響應狀態.有多種響應狀態,如200代表成功、301跳轉、404找不到⻚⾯、502伺服器錯誤
  • 響應頭.如內容型別、內容⻓度、伺服器資訊、設定Cookie等等。
  • 響應體.最主要的部分,包含了請求資源的內容,如⽹⻚HTML、圖⽚⼆進位制資料等。
'

4.能抓怎樣的資料?

  • ⽹⻚⽂本.如HTML⽂檔、Json格式⽂本等。
  • 圖⽚.獲取到的是⼆進位制⽂件,儲存為圖⽚格式。
    如定點陣圖中圖片網址複製下來
import requests
response = requests.get('https://h.2345cdn.net/i/search20200812/pic-1.png'
)#響應 print(response.content)#列印二進位制格式,圖片為二進位制 #寫入檔案 with open('D:\\deeplearn\\xuexicaogao\\百度.jpg','wb') as f: f.write(response.content) f.close() print('結束')
  • 視訊。同為⼆進位制⽂件,儲存為視訊格式即可。

  • 其他。只要是能請求到的,都能獲取。

5.解析⽅式

我們需要對得到的網頁原始碼進行解析,解析方式有如下

  • 直接處理。構造簡單,內容簡單可以直接處理
  • Json解析。
  • 正則表示式
  • BeautifulSoup
  • XPath
  • PyQuery

6.如何儲存資料

  • ⽂本。純⽂本、Json、Xml等。
  • 關係型資料庫。如MySQL、Oracle、SQL Server等具有結構化表結構形式儲存。
  • ⾮關係型資料庫。如MongoDB、Redis等Key-Value形式儲存。
  • ⼆進位制⽂件。如圖⽚、視訊、⾳頻等等直接儲存成特定格式即可。

在這裡插入圖片描述

創作不易,大佬請留步… 動起可愛的雙手,來個贊再走唄 (๑◕ܫ←๑)