好書推薦

「網路機器人、網路蜘蛛與網路爬蟲 PHP/CURL程式設計指南」讀後心得

一輩子餓不死的技能

我們一生中會學習到許多的事,有些學了之後,一輩子沒機會用,但有些卻受用無窮,網路上有個笑話是這樣的,有個爸爸,很認真的在跟自己的兒子說:「我現在要教你一個技能,只要學到之後,這輩子就不會餓死 !!」你猜是什麼?想不到吧!,其實是「吃飯」…

如果要我說,我所學到的電腦技能中,最划算、最受用的是什麼?

中英打

首先,「中、英文打字」是最受用的,我在高職的時候,那時自己用土法練鋼的方式,說出來你可能會笑,我就是在DOS的環境中,一直的打a~z,也不曉得打幾百還是幾千次,就這樣,就讓我把每個英文字的位置給記了下來,不過在一開始時,有個小缺點,就是我每次要打某一個英文字時,我都要從A開始模擬,直到那個想要到的英文字時,才能推算出位置,例如,我想要打「h」時,我就要先在心中,先把「abcedfg」打完後,才會知道「h」鍵的位置。

curl-2.png

而有了英文打字的基礎後,我想要開始學中打,一開始時我選擇「倉頡」,不過一直學不起來,原因除了要背字碼之外,還要再記一次鍵盤上倉頡字根的位置,一想到記英文鍵位置痛苦的過程,我直接就放棄學倉頡而改學無蝦米,我就這樣買了一本「嘸蝦米輸入法-教學書」,搭配已經有的英打基礎,把中打也學了起來,直到現在,雖然現在「觸碰裝置」大行其道,但中英打仍然有它的必要性。

嘸蝦米輸入法

寫程式

而第二受用無窮的技能,就是「寫程式」。

但寫程式不像打字,可以在幾個月的時間就學透,實際上,可能永遠學不完,所以只要學了一些簡單的基礎,就可以開始用了,接來下就是經驗的累積了。

寫程式除了可以解決問題之外,最重要的是程式本身,可以幫助我們做一些「重覆性」極高的工作,所以會寫程式的人,多半能很有效率將工作在很快的時間內完成。以我來說,有些時候我很沒耐性,尤其是不喜歡做「重覆」的工作,所以我都會想辦法將這些工作,利用「程式」來完成,這樣我只要辛苦一段時間,將這個程式完成,日後我就可以不用再做這些重覆性且又枯燥的工作,所以說我很懶,我也承認,我喜歡腦袋每天放空,最好是都不用做事情,就可以領薪水。

而且,寫程式是一通百通,今天你會寫C,經過簡單的學習,你也一定能寫VB、C#…等等等。

網路機器人Web Bot、Web Spider

一個能在抓取網頁內容或是控制網頁行為的程式,大概都可以稱為「網路機器人」,其實我對這個課題相當的感興趣,因為這真的是相當好用的東西,我來說一個應用的實例,比如說,我想要抓所有上市公司歷年來配息的記錄,想要找出這種配股配息能夠年年成長的公司,那你是要選擇自己一個一個網頁開來看嗎?

curl-3.png

如果你真的自己這麼做了,可能看還沒有一半,你就要去看眼科醫生了;而有錢一點的人,可能就請個幾位工讀生來幫他看這些資料,而像我們這種沒有錢,又不想自己看的人,就可以利用程式來幫我們整理這些資料。

早期,我都是利用Perl這個程式語言(可參考:Perl程式設計最佳入門教學書-Perl學習手冊(駱馬書)),有時會用AutoIt(http://www.autoitscript.com/site/autoit/)來寫,AutoIt很好用,但沒有教學書,就是只能看程式內的英文help檔。

後來為了要了解CURL的進階功能,我在博客來找了一下,看看有沒有相關的書,後來發現到這類的書很少,目前只有一本「網路機器人、網路蜘蛛與網路爬蟲 第二版:PHP/cURL程式設計指南」,這本書使用了PHP加上CURL來寫成「網路機器人」的程式,無論從觀念到實作,都介紹的很棒,作者還把CURL及PHP整理寫成另一個函式庫,完完全全的簡化了CURL,因此只要寫簡單的一些程式碼,就可以完成很多事,雖然最後我沒有使用PHP來寫我想要寫的程式,因為我要寫的程式,比較偏「操作瀏覽器」,而使用PHP/CURL比較偏抓資料(用來抓例子中股票的資料,就非常的適合),但我還是從這本書中,得到很多寶貴的知識,所以如果你會想要得到Web Bot、Web Spider相關的知識時,千萬不要少了這本書。

curl-1.jpg

最後說明一下,我最後是使用了C#的WebBrowser。

你可能對這些內容也有興趣:

26 thoughts on “「網路機器人、網路蜘蛛與網路爬蟲 PHP/CURL程式設計指南」讀後心得