實戰Python網路爬蟲筆記之一基礎知識

2021-10-24 05:43:29 字數 2626 閱讀 6180

一,爬蟲型別

依系統結構和開發技術可分4類:

通用網路爬蟲

聚焦網路爬蟲

增量式網路爬蟲

深層網路爬蟲

聚焦網路爬蟲又稱主題網路爬蟲,是選擇性的爬取需要的主題相關頁面

二,爬蟲原理

#通用爬蟲實現的原理及過程

初始url

def inter_worm (url)

if 待捉取url:

讀取url並解釋網頁內容

資料入庫

獲取新url

if 獲取新url:

inter_worm(url)

if 滿足停止條件:

結束if 滿足停止條件:

結束

聚焦網路爬蟲執行原理和過程與通用爬蟲大致相同,在其基礎上增加兩個步驟:

定義爬取目標和篩選過濾url

#聚焦網路爬蟲實現原理

1,制定爬取方案;

2,設定初始的url;

3,依據初始url抓取頁面,並獲得新的url;

4,從新的url中過濾掉與需求無關的url,將過濾後的url放到url佇列中;

5,依據搜尋演算法確定url優先順序,並確定下一部要爬取的url位址;

6,得到新的url,並重複爬取過程;

7,滿足設定的停止條件或無法獲取新的url位址時,停止爬行。

初始url

def inter_worm (url)

if 非空(待捉取url):

讀取url並解釋網頁內容

資料入庫

獲取新url

if 獲取新url:

篩選url

inter_worm(url)

if 符合(待捉取url):

篩選url

inter_worm(url)

if 空(待捉取url):

結束

三,爬蟲的搜尋策略

1,深度優先搜尋

2,寬度優先搜尋(最佳策略)

3,最好優先原則(聚焦爬蟲的策略)

四,網路爬蟲的合法性

1,利用爬蟲技術與黑客技術結合,攻擊**後台,從而竊取後台資料;

2,利用爬蟲惡意攻擊**,造成**系統癱瘓。

五,爬蟲開發流程

1,需求說明;

2,爬蟲計畫開發;

3,爬蟲的功能開發;

4,爬蟲的部署與交付。

六,爬蟲開發基礎

http與https

http(hyper text transfer protocol,超文字傳輸協議)是乙個客戶端和伺服器端請求和應答的標準(tcp)

客戶端是終端使用者,伺服器端是**。通過使用web瀏覽器,網路爬蟲或其他工具,客戶端發起乙個到伺服器上

指定埠(預設為80)的http請求,這個客戶端叫使用者**(user agent),響應的伺服器上儲存著資源為源伺服器(origin server)

在瀏覽器位址列輸入的**位址叫url(uniform resource locator,統一資源定位符)

http協議傳輸的資料都是未加密的明文資料,為了保證這些隱私,網景公司設計了ssl(secure sockets layer)協議

用於對http協議傳輸的資料進行加密,從而誕生了https.

ssl中使用的演算法:

非對稱加密演算法 rsa,dsa/dss(握手過程加密)

對稱加密 aes,rc4,3des(傳輸資料加密)

hash演算法 md5,sha1,sha256(驗證資料完整性)

chrome

chrome開發者工具的主要作用是進行web開發除錯,應熟練掌握elements,console和network.

network是核心,百分之九十**分析在它上面完成。

分析**最主要的是找到資料的**,具體步驟:

1,找資料**,大部分來自dos,xhr和js標籤;

2,找到資料所在的請求,分析其請鏈結,方式和引數;

3,查詢並確定請求引數**。

fiddler抓包

fiddler是位於客戶端和伺服器端之間的http**

是最常用的http抓包工具之一,功能強大,web抓包利器。

記錄,檢查及監控所有客戶端與服務端的http/https請求

能夠設定斷點,篡改及偽造request/response的資料

修改hosts,限制網速,http請求效能統計,簡單併發,介面測試,輔助自動化測試等

客戶端通過http協議獲取伺服器上的資源

b/s架構 客戶端/伺服器架構

編寫程式到web伺服器

web伺服器繫結ip位址並監聽設定的埠,接收和處理客戶端瀏覽器的http請求

爬蟲庫urllib

python自帶標準庫,用於爬蟲開發,api(應用程式程式設計介面)資料獲取和測試。

python3中功能模組:

urllib.request 用於開啟和讀取url

urllib.error 包含提出的例外urllib.request

urllib.parse 用於解析url

urllib.robotparser 用於解析robots.txt檔案

python實戰 網路爬蟲

學習網路爬蟲的目的 1,可以私人定製乙個搜尋引擎,可以深層次的了解搜尋引擎的工作原理。2,大資料時代,要進行資料分析,首先要有資料來源,學習爬蟲,可以讓我們獲取更多的資料。3,從業人員可以可好的利用爬蟲,了解其原理,更加優化你的程式。網路爬蟲的組成 網路爬蟲由控制節點,爬蟲節點,資源庫構成 爬蟲的型...

Python之網路爬蟲學習筆記

大資料時代資料獲取的方式 1 企業生產的使用者資料 大型網際網路公司有海量使用者,所以他們積累資料有天然的優勢 有資料意識的中小企業,也開始積累資料。2 資料管理諮詢公司 通常這樣的公司有很龐大的資料採集團隊,一般會通過市場調研 問卷調查 固定的樣本檢測和各行各業的公司進行合作 專家對話 資料積累很...

Python網路爬蟲實戰專案大全!

doubanspider 豆瓣讀書爬蟲。可以爬下豆瓣讀書標籤下的所有圖書,按評分排名依次儲存,儲存到excel中,可方便大家篩選蒐羅,比如篩選評價人數 1000的高分書籍 可依據不同的主題儲存到excel不同的sheet 採用user agent偽裝為瀏覽器進行爬取,並加入隨機延時來更好的模仿瀏覽器...