Python爬蟲概述

2021-10-06 11:55:53 字數 3325 閱讀 2400

5. robots協議

6. 反爬策略

7. 爬蟲基本流程

網路爬蟲是指按照某種規則在網路上爬取所需內容的指令碼程式。每個網頁通常包含其他網頁的入口,網路爬蟲則是通過乙個**依次進入到**,模擬客戶端傳送網路請求,接收請求響應,按照一定的規則,自動地抓取網際網路資訊的程式。

爬取步驟:

侷限性:

分布式爬蟲:提高爬蟲效率的終極**

根據網路爬蟲的尺寸分為三類:

爬取目的

規模常用庫

爬取網頁 玩轉網頁

小規模,資料量小,爬取速度不敏感(90%)

requests庫

爬取** 爬取系列**

中規模,資料規模大,爬取速度敏感(如攜程)

scrapy庫

爬取全網

大規模,用於建立搜尋引擎,爬取速度關鍵(如google)

定製開發

獲得網路資源的同時也引發了一系列問題:

法律風險:伺服器上的資料是由產權歸屬的,網路爬蟲獲取資料後牟利將帶來法律風險

隱私洩露:具備一定突破簡單訪問控制的能力,獲得被保護資料從而洩露個人隱私

網路爬蟲限制

發布公告:robots協議。告訴爬蟲策略,要求爬取資料者遵守規定的資料,是否遵守則要看爬蟲者。

http協議(hypertext transfer protocol,超文字傳輸協議)是一種發布和接收html頁面的方法。

https(hypertext transfer protocol over secure socket layer)是http的安全版,在http下加入ssl層。ssl(secure sockets layer 安全套接層)主要用於web的安全傳輸協議,在傳輸層對網路連線進行加密,保障在internet上資料傳輸的安全。

http的埠號為80,https的埠號為443

url格式:scheme://host[:port#]/path/…/[?query-string][#anchor]

例:

url的理解:url是通過http協議訪問資源的internet路徑,乙個url對應乙個資料資源

序號

方法描述

1get

請求指定的頁面資訊,並返回實體主體。

2head

類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭

3post

向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案),資料被包含在請求體中。post請求可能會導致新的資源的建立和/或已有資源的修改。

4put

從客戶端向伺服器傳送的資料取代指定的文件的內容。

5delete

請求伺服器刪除指定的頁面。

6connect

http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。

7options

允許客戶端檢視伺服器的效能。

8trace

回顯伺服器收到的請求,主要用於測試或診斷。

http請求主要分為get和post兩種方法:get是從伺服器上獲取資料,post是向伺服器傳送資料

名稱

說明host (主機和埠號)

用於指定被請求資源的internet主機和埠號,屬於url的一部分

connection (鏈結型別)

表示客戶端與服務連線型別

upgrade-insecure-requests (公升級為https請求)

公升級不安全的請求,意思是會在載入http資源時自動替換成https請求

user-agent (瀏覽器名稱)

客戶瀏覽器的名稱

accept (傳輸檔案型別)

指瀏覽器或其他客戶端可以接受的件型別,伺服器可以根據它判斷並返回適當的檔案格式

accept-encoding(檔案編譯碼格式)

指出瀏覽器可以接受的編碼方式

accept-charset(字元編碼)

指出瀏覽器可以接受的字元編碼

cookie (cookie)

瀏覽器用這個屬性向伺服器傳送cookie。cookie是在瀏覽器中寄存的小型資料體,它可以記載和伺服器相關的使用者資訊,也可以用來實現會話功能

content-type (post資料型別)

post請求裡用來表示的內容型別

型別說明

100-199

表示伺服器成功接收部分請求,要求客戶端繼續提交其餘請求才能完成整個處理過程

200-299

表示伺服器成功接收請求並已完成整個處理過程。常用200(ok 請求成功)

300-399

400-499

客戶端的請求有錯誤,常用404(伺服器無法找到被請求的頁面)、403(伺服器拒絕訪問,許可權不夠)

500-599

伺服器端出現錯誤,常用500(請求未完成。伺服器遇到不可預知的情況)

robots協議(也叫爬蟲協議、機械人協議等),全稱是「網路爬蟲排除標準」(robots exclusion protocol),**通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,例如:

**robots協議分析

robots協議基本語法

robots協議的使用

對robots協議的理解

爬取目的

是否遵守

爬取網頁 玩轉網頁

可以遵守(訪問量較小)、建議遵守(訪問量較大)

爬取** 爬取系列**

非商業且偶爾(建議遵守)、商業利益(必須遵守)

爬取全網

必須遵守

類人類訪問的爬取(資源都是為人類提供資訊、且資料量小,次數少)

可以不參考robots協議

Python爬蟲之爬蟲概述

知識點 模擬瀏覽器,傳送請求,獲取響應 網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端 主要指瀏覽器 傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。知識點 了解 爬蟲的概念 爬蟲在網際網路世界中有很多的作用,比如 資料採集 抓取招聘 的招聘資訊 資料分析 挖掘...

python之爬蟲概述

網路爬蟲 又被稱為網頁蜘蛛,網路機械人,在foaf社群中間,更經常的稱為網頁追逐者 是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻 自動索引 模擬程式或者蠕蟲。其實通俗的講就是通過程式去獲取web頁面上自己想要的資料,也就是自動抓取資料。模擬瀏覽器開啟...

Python爬蟲高階一之爬蟲框架概述

爬蟲入門之後,我們有兩條路可以走。乙個是繼續深入學習,以及關於設計模式的一些知識,強化python相關知識,自己動手造輪子,繼續為自己的爬蟲增加分布式,多執行緒等功能擴充套件。另一條路便是學習一些優秀的框架,先把這些框架用熟,可以確保能夠應付一些基本的爬蟲任務,也就是所謂的解決溫飽問題,然後再深入學...