爬蟲前奏
爬蟲的實際例子
- 搜索引擎
- 伯樂在線
- 惠惠購物助手
- 數(shù)據(jù)分析與研究(數(shù)據(jù)冰山知乎專欄)
- 搶票軟件
什么是網(wǎng)絡(luò)爬蟲
- 通俗理解:爬蟲是一個模擬人類請求網(wǎng)站行為的程序??梢宰詣诱埱缶W(wǎng)頁、并將數(shù)據(jù)抓取下來,然后使用一定的規(guī)則提取有價值的數(shù)據(jù)。
通用爬蟲和聚焦爬蟲
- 通用爬蟲
通用爬蟲是搜索引擎抓取系統(tǒng)(百度、谷歌等)的重要組成部分,主要是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內(nèi)容的鏡像備份。
- 聚焦爬蟲
是面向特定需求的一種網(wǎng)絡(luò)爬蟲程序,他與通用爬蟲的區(qū)別在于:聚焦爬蟲在實施網(wǎng)頁抓取的時候會對內(nèi)容進(jìn)行篩選。
為什么用 Python 寫爬蟲程序
PHP:php 天生不是干這個的,而且對多線程,異步支持不是很好,并發(fā)處理能力弱。爬蟲是工具性程序,對速度和效率要求比較高。
Java:Java 的生態(tài)很完善,對于寫爬蟲程序而言,是 Python 的最大對手。但 Java 語言本身很笨重,代碼量很大。重構(gòu)成本比較高,任何修改會導(dǎo)致代碼大量改動,而爬蟲經(jīng)常要修改采集代碼。
C/C++:運行效率是無敵的,但學(xué)習(xí)和開發(fā)的成本較高,寫個小爬蟲可能需要大半天時間。
Python:語法優(yōu)美,代碼簡潔,開發(fā)效率高,支持的模塊多。相關(guān)的 HTTP 請求模塊和 HTML 解析模塊非常豐富。還有 Scapy 和 Scapy-redis 框架讓我們開發(fā)爬蟲變得異常簡單。