一,爬蟲型別
依系統結構和開發技術可分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偽裝為瀏覽器進行爬取,並加入隨機延時來更好的模仿瀏覽器...