首頁  >  文章  >  後端開發  >  python爬蟲是什麼?為什麼把python叫做爬蟲?

python爬蟲是什麼?為什麼把python叫做爬蟲?

乌拉乌拉~
乌拉乌拉~原創
2018-08-13 14:37:4071172瀏覽

今天我們來講解python的基本概念性的知識。很多剛接觸python的朋友有很多疑問,python爬蟲是什麼?那又為什麼要把python叫做爬蟲?

python爬蟲是什麼?

在進入文章之前,我們首先需要知道什麼是爬蟲。爬蟲,也就是網路爬蟲,大家可以理解為在網路上爬行的一隻蜘蛛,網路就比喻成一張大網,而爬蟲便是在這張網路上爬來爬去的蜘蛛,如果它遇到自己的獵物(所需要的資源),那麼它就會將其抓取下來。例如它在抓取一個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超鏈接,那麼它就可以爬到另一張網上來獲取數據。不容易理解的話其實可以透過下面的圖片來理解:

python爬蟲是什麼?為什麼把python叫做爬蟲?

#因為python的腳本特性,python易於配置,對字元的處理也非常靈活,加上python有豐富的網路抓取模組,所以兩者經常聯繫在一起。 Python爬蟲開發工程師,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然後通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。如果把整個網路當成一個網站,那麼網路蜘蛛就可以用這個原理把網路上所有的網頁都抓取下來。

爬蟲可以抓取某個網站或某個應用程式的內容,提取有用的價值。也可以模擬使用者在瀏覽器或App應用程式上的操作,實現自動化的程式。以下行為都可以用爬蟲實現:

搶票神器

投票神器

#預測(股市預測、票房預測)

國民情感分析

社交關係網

如上所述,我們可以認為爬蟲一般是指網路資源的抓取,而因為python的腳本特性,以及其不僅易於配置,而且對字符的處理也非常靈活,加上python有豐富的網絡抓取模組,所以兩者經常聯繫在一起。這就是為什麼python被叫做爬蟲的原因。

為什麼把python叫做爬蟲?

作為程式語言而言,Python是純粹的自由軟體,以簡潔清晰的語法和強制使用空白符進行語句縮進的特點從而深受程式設計師的喜愛。舉個例子:完成一個任務的話,c語言一共要寫1000行程式碼,java要寫100行,而python則只需要寫20行的程式碼。使用python來完成程式設計任務的話編寫的程式碼量更少,程式碼簡潔簡短可讀性更強,一個團隊進行開發的時候讀別人的程式碼會更快,開發效率會更高,使工作變得更有效率。

這是一門非常適合開發網路爬蟲的程式語言,而且比起其他靜態程式語言,Python抓取網頁文件的介面更簡潔;比起其他動態腳本語言,Python的urllib2包提供了較完整的存取網頁文件的API。此外,python中有優秀的第三方套件可以有效率地實現網頁抓取,並可用極短的程式碼完成網頁的標籤過濾功能。

python爬蟲的架構組成如下圖:

python爬蟲是什麼?為什麼把python叫做爬蟲?

#1. URL管理員:管理待爬取的url集合和已爬取的url集合,傳送待爬取的url給網頁下載器;

#2.網頁下載器:爬取url對應的網頁,儲存成字串,傳送給網頁解析器;

3. 網頁解析器:解析出有價值的數據,儲存下來,同時補充url到URL管理員。

而python的工作流程則如下圖:

python爬蟲是什麼?為什麼把python叫做爬蟲?

#(Python爬蟲透過URL管理器,判斷是否有待爬URL,如果有待爬URL,透過調度器進行傳遞給下載器,下載URL內容,並透過調度器傳送給解析器,解析URL內容,並將價值資料和新URL列表透過調度器傳遞給應用程序,並輸出價值訊息的過程。)

Python是一門非常適合開發網路爬蟲的程式語言,提供如urllib、re、json、pyquery等模組,同時又有許多成型框架,如Scrapy框架、PySpider爬蟲系統等,本身又是十分的簡潔方便所以是網路爬蟲首選程式語言!希望這篇文章能給剛接觸到python這門語言的朋友提供一點幫助。


以上是python爬蟲是什麼?為什麼把python叫做爬蟲?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn