您的一個「讚」,就能讓我高興一整天!
  • 若文章中的教學解決不了您的問題,請直接找電腦公司會比較快。
  • 原本我不寫廠商的邀約文,一方面真的是很忙,另一方面我也不是什麼超高人氣部落格,但還是許多廠商會寄信過來邀約。因此,我現在決定如果廠商所提供的產品,我覺得很有用或有趣的,我會「免費」接案( changyang319@gmail.com ),但寫好寫壞,還有截稿的時間不要限制我喔。
電腦重灌 還原鍵製作還原光碟製作修復光碟WinXPWin 7(英文)Win7(中文)Windows 8重灌前準備驅動程式安裝更新Hotfix學習DOS檢查硬碟壞軌測試記憶體如何進入BIOS開機順序/電腦溫度安全模式
常見問題 Wi-Fi不能上網螢幕變黑開機到一半卡住主機不斷重開機喇叭沒有聲音麥克風沒有聲音主機風扇很吵主機自動斷電光碟機退不出來
選購經驗 筆記型電腦平板電腦桌上型電腦印表機分享器雙螢幕LCD液晶螢幕滑鼠UPS不斷電系統電視卡無線網卡MacBook Air平板VS筆電
辦公文書 Word必犯錯誤Word合併列印Excel樞紐分析表備份Outlook郵件FTP軟體操作Word打一半當機設定Outlook收Gmail
IP分享器 無線WiFi延伸(WDS)串接分享器另類分享器接法測Wi-Fi訊號頻道DDNS(D-Link)DDNS(No-IP)

一輩子餓不死的技能

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

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

中英打

  首先,「中、英文打字」是最受用的,我在高職的時候,那時自己用土法練鋼的方式,說出來你可能會笑,我就是在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。

, , ,

唐先生 發表在 痞客邦 PIXNET 留言(14) 人氣()


留言列表 (14)

發表留言
  • 阿杜
  • 請問 "網路機器人、網路蜘蛛與網路爬蟲 第二版:PHP/cURL程式設計指南"
    要用甚麼編譯器才可以編程呀@@??
    網路上到處找都找不到(用甚麼編譯器)QQ ((小的爬文能力欠佳...))
    我目前 記事本;JavaScript;visual studio(C# ,Web Developer)都試過了
    但還是無解(目前)
    我看到妳文章裡面用了C#的WebBrowser
    <<於是我也用C#開了一個WebBrowser物件 但是不知道程式碼要打在哪裡
    (不知道這作法對不對)>>
    請問版大可以教我一下嗎- - 應為我真的不知道該如何編程
    幾乎每個編譯器都對"$"這個符號很敏感 尤其是偵錯的時候
    拜託了
  • 首先,您的觀念有一點不對,這本書上教的是PHP的CURL,因此,用PHP語言寫的程式,是不用「編譯」的,可以直接放進「網頁伺服器(支援PHP)」,然後透過「瀏覽器」來執行,若是您想要再本機直接執行,則必需在你的電腦上,安裝Apache套件,相關的教學您可以參考
    http://sofree.cc/windows-appserv/

    而C#這個語法,和C++一樣,就可以使用Visual Studio來編譯,變成執行檔之後,就可以直接執行,因此這兩者是不一樣的。

    唐先生 於 2013/11/13 13:32 回覆

  • 阿杜
  • 稍晚才回有些抱歉

    謝謝你的答覆
    但我還是不太了解QQ
    請問要如何將 這一小段PHP程式碼用瀏覽器來執行..
    我打在記事本.txt上轉.htm執行瀏覽器是空白的 ((號啕大哭))
    話說我是"超級"~初學者= = 沒碰過php和curl...
    這方面還是請多關照了

    ((我是照書上打的以下))

    <!--如下--> ((這邊不是

    #定義你想要下載的檔案
    $target = "http://www.webbotsspidersscreenscrapers.com/hrllo_world.html" ;
    $file_handle = fopen($target, "r");

    #取得檔案
    while (!feof($file_handle))
    echo fgets($file_handle, 4096);
    fclose($file_handle);

    <!--以上--> ((這邊不是

    謝謝指導了
  • 我在上面就有提到了,要請你看一下這個網站
    http://sofree.cc/windows-appserv/

    架設好PHP的網頁伺服器之後,再將寫好的程式,存成「.php」檔案,再上傳至php網頁伺服器中,最後再透過「瀏覽器」來執行。

    就如同書中P.28 「在瀏覽器中執行網路機器人」這一段所述。

    這些知識牽涉很廣,請恕我沒有辦法一一解說,當您決定使用PHP這個語言來寫程式時,學會架設一個網站是一個很基本的事,建議您先放下手上的這個「網路機器人書」進階書,先去了解一下PHP程式如何執行比較重要。

    唐先生 於 2013/11/16 06:41 回覆

  • 阿杜
  • 恩 謝謝了
    我的書等級對我來說是偏高了= =
    應該先選基本款的..
    到時候有問題再來問你XDD
  • 您只差一點點準備的工作而已,不用太洩氣,花一點時間(最快幾分鐘,最慢一、二天也能完成)架好網頁伺服器,就可以開始您的學習之旅,學東西總是要靠一點興趣,說不定你能因此學好這個東西。

    唐先生 於 2013/11/16 08:34 回覆

  • 阿杜
  • 我已經做到以下這個畫面了
    http://i2.wp.com/cdn3.sofree.cc/2011/AppServeWAMP_12A19/appserve13.png
    接下來不知如何是好
  • 其實你這樣已經安裝好PHP的網頁伺服器了,現在只要把製作好的網頁放進網頁伺服器的資料夾中,我記得好像是APPSRV裡的WWW資料夾,再從瀏覽器中輸入網址,就可以開啟網頁了。

    例如我放進去的檔案是 test.html
    那輸入的網址即是「http://127.0.0.1/test.html」。

    唐先生 於 2013/11/17 08:47 回覆

  • 阿杜
  • 但是位於同一個域網的電腦無法讀出我的網頁
    是正確的嗎@@?
  • 我不懂您的意思。

    唐先生 於 2013/11/17 23:39 回覆

  • 小克
  • Appserv很久沒開發而且漏洞很嚴重又很多
    建議改用Xampp 是一樣概念的東西
  • 謝謝小克的建議,聽專家的準沒錯,若網站有要對外開放的話,就用Xampp吧。

    唐先生 於 2013/11/19 11:46 回覆

  • 阿杜
  • 謝謝~!!
    我終於成功執行了我的網頁機器人了=))
    原來他只能拿來抓取網頁
    本身不提供網頁= =

    怪不得一開始執行沒有東西
    原來他要對其他網頁發送請求
    才能抓取到其他網頁的東西
    哈哈....
  • 這本書真的是相當有用,作者他簡化了php的函式,所以讓我們在使用他所說的技巧時,程式寫起來特別的簡單,真的是大推這本書。

    而確實如你所說,php這東西就是如此,如果你沒有寫過的話,確實會摸不著頭緖,因為你想要顯示出「東西」出來的話,是要自己輸出的,程式本身可不會幫你輸出至網頁上來。

    我是因為後來這本書的需求,和我想要的功能不同,所以沒有在深入去研究,但大推這本書。

    唐先生 於 2014/04/24 12:43 回覆

  • 阿杜
  • 恩 真的大推
    抓資料很方便XDD
    裡面很多內建函式庫 <<這裡真的幫我很多
    對初學者真的很有用-
  • 你懂我的,這本真的不錯,我們國內好像都沒有這類的書籍,有些書籍雖然教了很多,但卻沒有附什麼程式碼或函式庫,但作者在這本書中,直接分享了他所封裝好的函式庫,而且都是可以正常執行的,真的非常的棒。

    如果這位作者有再出其它種類的書籍,一定也很值得購買的。

    唐先生 於 2014/06/04 09:31 回覆

  • 阿杜
  • 請問樓上"小克"說的appserv 跟 apache是一樣的東西嗎@@?
    我看很多書上有關"apache x.x.x"的漏洞
    "標頭檔漏洞".."'上傳漏洞".."溢位漏洞"..
    這些是架站工具本身的漏洞??還是腳本的漏洞呀..?
    應為我的php腳本要跟JavaScript做結合
    如果是架站工具本身的漏洞,除了跟新版本
    那還可以用腳本的方式來排除嗎??
    我只知道危險的語法不要用...
    然後php參數要注意..
    因為最近有在關注網站漏洞的問題
    ((其實才剛開始學沒多久XDD))
  • 應該說appserv裡面有包括了apache這個軟體。
    軟體原本就有可能會存在一些漏洞,所以有人會建議appserv所包括的這些軟體,像是Apache、PHP、MySQL,最好是各別安裝,這樣將來在更新時,也會比較方便。
    但你才剛學而已,其實不用在意這麼多,先學會使用比較快,過一陣子再來嘗試看看,是否有辦法獨力自己分別安裝這些套件。

    唐先生 於 2014/08/04 06:02 回覆

  • 阿杜
  • 嗯嗯
    這學期學校開始教寫網頁=A=
    應為我們在學校用的是appserv但我事前在家用的是Wamp
    所以不曉得appserv漏洞會不會影響到我的網頁/網站 被攻擊
    如果有影響到的話 我想事先填起來 養成好習慣
    這樣以後再寫網頁DeBug會比較容易也比較輕鬆
    我比較不擔心php的方面 應為我函數的"可控性較低"
    我比較怕的是JavaScript 應為不是很熟
    再加上 JavaScript是使用者可見的
    我們老師是教我們寫網頁
    沒有教我們填補漏洞 或者是 危險函數不要使用
    但我還是會避免使用危險函數
    ((雖然提交作業(網頁)的時間有時會比較晚))
    ----------------------------------------------------------------------------------------------
    聽你上面一說我現在才搞清楚Apache,PHP,MySql這些套件=ˇ=
    之前都是半懂半懂..(就是不是很懂= =)
    這些套件是裝在Apache,Wamp裡面的
    //個別安裝
    //是把他們三個套件 另外搜尋版本 下載 安裝
    ------------不知道我的理解對不對... 有錯還是請幫忙修正了----------------
    那我還是先把JavaScript學好
    再把以上兩項跟PHP融合XDD
    其實學校只有要我們寫Html5
    但是之前在做PHP Spider之前
    就已經把Html5摸過了
    雖然精益求精
    但我還是想學新的東西=ˇ= (手,腦,超養..)
    (JavaScript和資安防護)
    是我想把它跟JavaScript和PHP做結合=))
    /*我真貪心XDD*/





  • 漏洞修補這你應該可以不用去考慮,這應該算是網管該要去注意的,你應該著重在網站製作上的漏洞,像是SQL injection的問題。
    不過你學習的動力這麼強烈,一定可以學的很好的。
    學會自己製作網站,真的是一個很好技能。

    唐先生 於 2014/08/11 12:47 回覆

  • 阿杜
  • PS:
    再把以上兩項跟PHP融合XDD
    //這邊說的以上兩項 是html5,JavaScript
  • 訪客
  • 恩恩
    我以為是寫網頁的我要負責的XDD
    只不過說自己寫網頁好像太自以為是的感覺= =

    SQL injection 的問題我會去關注的
    雖然沒學過SQL((沒看過甚麼類似的書))
    只有之前在寫PHP的時候拿來當資料庫用過

    感謝您幫我解決我的問題^^
    因為在網路上都是素不相識的人
    你卻願意這樣撥空回答我的疑問
    真的挺感激的
    心中有點莫名的感動(掉淚)
  • 不客氣喔,彼此交流一下而已。

    唐先生 於 2014/08/21 12:34 回覆

  • andyto202
  • 你好
    你的一句話
    我挺感興趣的
    因為我要寫的程式,比較偏「操作瀏覽器」,而使用PHP/CURL比較偏抓資料
    這句話的意思是不是
    因為你想抓的資料可能都需要認證
    所以如果用
    C#的WebBrowser
    只要手動登入就可以抓到想要抓的資料了
    是嗎
  • 好像有點不太是我的意思。

    我的意思是,因為有些網頁,可能都需要填一些資料,選擇一些控制項,進而提交網頁,像是註冊網頁之類的,所以如果用PHP/CURL的方式,我就必需要自己先分析網頁,準備那些要POST的資料,再去提交網頁,這樣就會很麻煩,所以這部份如果用C#的WebBrowser,或者AutoIt語言,就會方便很多。

    唐先生 於 2015/09/04 18:18 回覆

  • Steve
  • 你好,請問有關於你透過C#的WebBrowser製作的參考,可以分享一下嗎?