我常常看到許多網路上關於Python的標題,就是說使用程式語言Python可以讓你快速達到網路浩瀚無邊的世界裡,爬取你所需的資料,讓各行各業在需要外部資料協助分析時,變得輕鬆可成。
因此,對於網路爬蟲(web crawler) 技術,許多工程師都希望能在自己的電腦上安裝上一支網路蜘蛛(程式碼),讓它全年無休,爬取網路上資訊,並增加專業知識外的附加價值,這似乎是每一個人都應該具有的基本技術能力。
想佈署上一支小小的程式碼, 即可發揮如此大的功效;於是你想學,我想學;因此,最貼近人類自然的程式語言,與人類口語化敘述一般的程式語言Python,幾乎變成學習的第一選擇,且大部份的學習目標,就是能夠開發爬取網路上所有資料的程式。
《購買一部法拉利跑車,你就是一個賽車手;可以將法拉利開上賽道競速一般,是多麼興奮的一件事》就如同,我們輕鬆將Python學會,就可說是網路爬蟲的高手,如同六腳蜘蛛,得心順手。
其實並不然!
爬蟲,除了Python程式語言,你還需要哪些觀念協助
我們常常使用Google搜尋引擎,透過關鍵字,查詢到網際網路相關的資訊;尤其是網頁細部相關內容,得再透過眼力,逐一搜索出自己所需要的內容 。不然就是透過更具有文件內容的程式化網頁,提供更具有系統性的資訊。
想像,你在這樣的查訊過程中,使用眼睛與思考判斷方式,查閱自己想要的內容,以及開始透過瀏覽器啟動, 準備查詢資料時,你的起手勢為何?底下將有四個觀念,是你必須在開發Python網頁爬蟲前必須掌握的。
一、何謂HTTP通訊協定
經常在使用瀏覽器上網時,我們無須知道HTTP(Hyper Text Transfor Protocol通)訊協定規範,但當您使用使用程式化架構進行網頁瀏覽爬蟲,必須了解這項協定的運行方式。
二、了解HTML標籤語言的特性與採用DOM(文件物件模組)巡覽的特性。
當你透過瀏覽器檢視網頁內容時,我們只知道這叫做《網頁》,無須知道這背後展示畫面為HTML(Hyper Text Mark Language);但當你需要採用程式化進行爬蟲時,則需要知道這優美畫面背後的標籤Tag架構,甚至需要了解到DOM(Document Object Model)巡覽架構。
三、知道切板與修飾版面CSS的樣式表設定特性與關鍵。
當你使用瀏覽器檢視網頁時,可以看到一塊一塊切版的樣式與格式似乎頗有規則與美感。但當你進行程式化爬蟲時,你必須知道這切板後面的樣式規則稱為CSS(Cascading Style Sheet)。因為我們需要透過這樣標準的樣式規格,爬取到相對的內容。
四、更需要了解文件式的XML或者是JSON文件格式的操作。
如果你透過網頁取得的是Open Data的一種文件格式,我們不能只是當作資料來看待;如果需要程式化整理時,則需要了解這些格式的架構為XML或者JSON等架構意義。
綜合以上,如果我們當作網路爬蟲是一個進入Python程式語言的基礎即可,那就好像說,當我們坐進一步法拉利跑車時,只有認知油門與方向盤如何掌握,那就可能會發生無法順利駕馭一部千萬級的跑車的窘態。
其中,更深入的技術規範,可能需要了解更複雜的演算與儲存分析等技術支援,例如:
網路爬蟲演算規範、爬蟲的深入與聚焦及爬取資料的儲存與分析…等等。
網路爬蟲,一切從簡易可行開始…
準備好你的起手勢,可以從初探的Python程式語言開始,透過熟知的網路程式設計技術規範著手與概念培養,即可由簡入繁,順利悠遊於網路世界,以及爬取相關的資訊同時進行關聯資料的吻合;再加上一點儲存資料的設計能力。
相信你在上完「Python網頁爬蟲入門實戰」這門線上直播課程後,你絕對可以在網路世界中,逐一規劃出自己所需要的爬蟲技術,完成你悠遊網路世界的曼波妙姿。趕緊加入「Python網頁爬蟲入門實戰」的課程吧!
Comments