catchbug

如果你有網路上大量資料的需求,卻還在用手動複製貼上大法的時候,強烈建議你一定要學會爬蟲這項技能,因為當你還在猶豫的時候,別人已經不知道爬了幾個站的資料做了多少事了。

常常在分析一些資料的時候,第一步資料的取得便是一個不小的困難,需要在原有的資料源之外,還想要取得一些額外的資料輔助。大部分有用的資訊其實在網路上便可取得,有更多時候這些網路上的資料相當豐富,不論是整理好的開放資料或是一些非結構資料,若能將資訊系統性且有效率地擷取下來,不僅會節省非常多時間,而且能獲得更多應用的機會。

若能確實的按照課程進度,投入在幾個想爬的幾個站,短短幾個小時的練習時數,便可從爬蟲新手,到可以砍大部分的網站。(台鐵不在其中,別來查水表)因此學習曲線可說相當平易近人。

為什麼要懂爬蟲?

在網路資料免費贈送的時代,入寶山卻空手而回的確是虧大了,對於當代的資料科學而言,我相信在不久的將來,使用爬蟲取得資料已是一種基本技能,而非一個競爭優勢,尤其在各種資料越來越容易取得的情況下,要比的只是你有沒有辦法處理分析這些資料,至於要從哪裡得到這些資料,總不能要求別人給你,只能自己想辦法。

到底什麼是爬蟲?

爬蟲就是把你要手動在瀏覽器操作資料取得的一連串動作,用程式幫你自動化完成。這不是一個新技術,也不是黑客不黑客的問題,而是時間的成本是寶貴的,愈來愈多方便套件的開發,使得爬蟲不再是一個需要懂得很多連線的複雜原理,或複雜的 coding 技巧才能辦到,只要懂一些基本的程式技巧即可快速入門。

爬蟲心法:觀察、觀察、再觀察

爬蟲取得資料的最終目的,就是要分析這些資料,以熟悉的工具— R —作為學習爬蟲的開始,是一個好的入門途徑,但前提是要能對於基本的R資料型態和字串處理有些基本的認識。在連線目標網站取得資料的過程中,大部分時間都在嘗試資料藏在哪裡,連線的阻擋是怎麼設計的,因此這是一門亟需實作的課程,透過不同網站的練習(攻擊XD),以及與 mentor 和蟲友的經驗交流,進步才會神速。

R Crawler 101 的收穫

藉由習得爬蟲的技能,讓我也進一步重新思考,更多資料分析流程的可能性。以前許多資料源取得的限制, 不再是個無解的難題之後,會釋放出更自由的想像空間,更大的挑戰便是整合資訊的應用,以及如何從中淘金了。

工商服務:

課程傳送門 http://datasci.kktix.cc/events/rcrawler101-201512

請大力分享給你認為有需要的朋友