新聞中心
介紹

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),西藏企業(yè)網(wǎng)站建設(shè),西藏品牌網(wǎng)站建設(shè),網(wǎng)站定制,西藏網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,西藏網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
大家好!回顧上一期,我們在介紹了爬蟲的基本概念之后,就利用各種工具橫沖直撞的完成了一個小爬蟲,目的就是猛、糙、快,方便初學(xué)者上手,建立信心。對于有一定基礎(chǔ)的讀者,請不要著急,以后我們會學(xué)習(xí)主流的開源框架,打造出一個強(qiáng)大專業(yè)的爬蟲系統(tǒng)!不過在此之前,要繼續(xù)打好基礎(chǔ),本期我們先介紹爬蟲的種類,然后選取最典型的通用網(wǎng)絡(luò)爬蟲,為其設(shè)計一個迷你框架。有了自己對框架的思考后,再學(xué)習(xí)復(fù)雜的開源框架就有頭緒了。
今天我們會把更多的時間用在思考上,而不是一根筋的coding。用80%的時間思考,20%的時間敲鍵盤,這樣更有利于進(jìn)步。
語言&環(huán)境
語言:帶足彈藥,繼續(xù)用Python開路!
一個迷你框架
下面以比較典型的通用爬蟲為例,分析其工程要點,設(shè)計并實現(xiàn)一個迷你框架。架構(gòu)圖如下:
代碼結(jié)構(gòu):
config_load.py 配置文件加載
crawl_thread.py 爬取線程
mini_spider.py 主線程
spider.conf 配置文件
url_table.py url隊列、url表
urls.txt 種子url集合
webpage_parse.py 網(wǎng)頁分析
webpage_save.py 網(wǎng)頁存儲
看看配置文件里有什么內(nèi)容:
spider.conf
url_table.py
Step 3. 記錄哪些網(wǎng)頁已經(jīng)下載過的小本本——URL表。
在互聯(lián)網(wǎng)上,一個網(wǎng)頁可能被多個網(wǎng)頁中的超鏈接所指向。這樣在遍歷互聯(lián)網(wǎng)這張圖的時候,這個網(wǎng)頁可能被多次訪問到。為了防止一個網(wǎng)頁被下載和解析多次,需要一個URL表記錄哪些網(wǎng)頁已經(jīng)下載過。再遇到這個網(wǎng)頁的時候,我們就可以跳過它。
crawl_thread.py
Step 5. 頁面分析模塊
從網(wǎng)頁中解析出URLs或者其他有用的數(shù)據(jù)。這個是上期重點介紹的,可以參考之前的代碼。
Step 6. 頁面存儲模塊
保存頁面的模塊,目前將文件保存為文件,以后可以擴(kuò)展出多種存儲方式,如mysql,mongodb,hbase等等。
webpage_save.py
寫到這里,整個框架已經(jīng)清晰的呈現(xiàn)在大家眼前了,千萬不要小看它,不管多么復(fù)雜的框架都是在這些基本要素上擴(kuò)展出來的。
下一步
基礎(chǔ)知識的學(xué)習(xí)暫時告一段落,希望能夠幫助大家打下一定的基礎(chǔ)。下期開始為大家介紹強(qiáng)大成熟的爬蟲框架Scrapy,它提供了很多強(qiáng)大的特性來使得爬取更為簡單高效,更多精彩,敬請期待!
網(wǎng)頁題目:手把手教你寫網(wǎng)絡(luò)爬蟲(2):迷你爬蟲架構(gòu)-通用網(wǎng)絡(luò)爬蟲
轉(zhuǎn)載來于:http://m.5511xx.com/article/dhiegjd.html


咨詢
建站咨詢
