天天看點

《精通Python網絡爬蟲:核心技術、架構與項目實戰》——第一篇 Part 1 理論基礎篇 第1章 什麼是網絡爬蟲 1.1 初識網絡爬蟲

本節書摘來自華章出版社《精通python網絡爬蟲:核心技術、架構與項目實戰》一書中的第1章,第1.1節,作者 韋 玮,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

第1章 什麼是網絡爬蟲

第2章 網絡爬蟲技能總覽

網絡爬蟲也叫做網絡機器人,可以代替人們自動地在網際網路中進行資料資訊的采集與整理。在大資料時代,資訊的采集是一項重要的工作,如果單純靠人力進行資訊采集,不僅低效繁瑣,搜集的成本也會提高。此時,我們可以使用網絡爬蟲對資料資訊進行自動采集,比如應用于搜尋引擎中對站點進行爬取收錄,應用于資料分析與挖掘中對資料進行采集,應用于金融分析中對金融資料進行采集,除此之外,還可以将網絡爬蟲應用于輿情監測與分析、目标客戶資料的收集等各個領域。當然,要學習網絡爬蟲開發,首先需要認識網絡爬蟲,在本篇中,我們将帶領大家一起認識幾種典型的網絡爬蟲,并了解網絡爬蟲的各項常見功能。

随着大資料時代的來臨,網絡爬蟲在網際網路中的地位将越來越重要。網際網路中的資料是海量的,如何自動高效地擷取網際網路中我們感興趣的資訊并為我們所用是一個重要的問題,而爬蟲技術就是為了解決這些問題而生的。我們感興趣的資訊分為不同的類型:如果隻是做搜尋引擎,那麼感興趣的資訊就是網際網路中盡可能多的高品質網頁;如果要擷取某一垂直領域的資料或者有明确的檢索需求,那麼感興趣的資訊就是根據我們的檢索和需求所定位的這些資訊,此時,需要過濾掉一些無用資訊。前者我們稱為通用網絡爬蟲,後者我們稱為聚焦網絡爬蟲。

網絡爬蟲又稱網絡蜘蛛、網絡螞蟻、網絡機器人等,可以自動化浏覽網絡中的資訊,當然浏覽資訊的時候需要按照我們制定的規則進行,這些規則我們稱之為網絡爬蟲算法。使用python可以很友善地編寫出爬蟲程式,進行網際網路資訊的自動化檢索。

搜尋引擎離不開爬蟲,比如百度搜尋引擎的爬蟲叫作百度蜘蛛(baiduspider)。百度蜘蛛每天會在海量的網際網路資訊中進行爬取,爬取優質資訊并收錄,當使用者在百度搜尋引擎上檢索對應關鍵詞時,百度将對關鍵詞進行分析處理,從收錄的網頁中找出相關網頁,按照一定的排名規則進行排序并将結果展現給使用者。在這個過程中,百度蜘蛛起到了至關重要的作用。那麼,如何覆寫網際網路中更多的優質網頁?又如何篩選這些重複的頁面?這些都是由百度蜘蛛爬蟲的算法決定的。采用不同的算法,爬蟲的運作效率會不同,爬取結果也會有所差異。是以,我們在研究爬蟲的時候,不僅要了解爬蟲如何實作,還需要知道一些常見爬蟲的算法,如果有必要,我們還需要自己去制定相應的算法,這些在後面都會為大家詳細地講解,在此,我們僅需要對爬蟲的概念有一個基本的了解。

除了百度搜尋引擎離不開爬蟲以外,其他搜尋引擎也離不開爬蟲,它們也擁有自己的爬蟲。比如360的爬蟲叫360spider,搜狗的爬蟲叫sogouspider,必應的爬蟲叫bingbot。

如果想自己實作一款小型的搜尋引擎,我們也可以編寫出自己的爬蟲去實作,當然,雖然可能在性能或者算法上比不上主流的搜尋引擎,但是個性化的程度會非常高,并且也有利于我們更深層次地了解搜尋引擎内部的工作原理。

大資料時代也離不開爬蟲,比如在進行大資料分析或資料挖掘時,我們可以去一些比較大型的官方站點下載下傳資料源。但這些資料源比較有限,那麼如何才能擷取更多更高品質的資料源呢?此時,我們可以編寫自己的爬蟲程式,從網際網路中進行資料資訊的擷取。是以在未來,爬蟲的地位會越來越重要。