跳到主要內容

發表文章

目前顯示的是 9月, 2010的文章

唉!抓資料到連 iqy 都出動了!

在網頁上抓資料還有一個很恐怖的狀況,就是 網頁上只有表格資料 ,當全選、複製、貼上到 Excel 時會有恐怖的破格現象! 不過還好 Excel 本身有個功能,可以從網頁上匯入資料,就是「資料」→「 匯入外部資料 」,但!還是碰到一個問題, 就是要抓取的頁面還是很多頁,當每次輸入網址後,還要點選下一頁,然後在打勾要匯入的表格區塊,就又花掉好多點擊動作! 還好這動作可以另存成一個 *.iqy 檔,紀錄抓取網址與欄位位置。 WEB 1 http://www.twse.com.tw/ch/listed/listed_company/new_listing.php?page=2 Selection=7 Formatting=None PreFormattedTextToColumns=True ConsecutiveDelimitersAsOne=True SingleBlockTextImport=False DisableDateRecognition=False DisableRedirections=False 不過唯一不足的地方就是 一個檔案只能指示一個頁面 ,不同頁面就要給予不同的 iqy。嘗試把兩組(多組)合併成一個檔案,匯入到 Excel 時也只能讀取一個頁面的資料。所以這裡只能用很笨的方法,產生所需要抓取資料的頁數的 iqy 檔案,共有多少頁,就產生多少個 iqy 檔案! 產生檔案的程式如下 : iiqy.iiqy([tse,otc], page) 最後就會產生數個 iqy 檔,然後在慢慢的讀取。感覺有點笨,但這是目前最快的方法了,我的資料也抓完了!給大家參考吧!

不!我真的很懶惰,還是交給 python 抓成交量吧!

研究生找資料常常都會遇到一個問題,就是資料來源本身不連續,就要自己手動抓取處理,但這樣對一個像我一樣懶惰的人來說,一直重複著相同動作是要了研究生的命。 我的論文研究有一部份要抓取大盤(加權指數) 日成交量的數據 ,在證交所網站上是以 月 為單位下載。而我需要遠到 1997 年的資料,這樣我必須下載 175 次,然後再做至少 175 次的資料合併! 不!我真的很懶惰,還是交給 python 吧! 以下就是順手寫的小程式抓取資料: class ggm(年度,儲存檔名): 年度:都是以最新往前到指定的年度為止,包含該年度 儲存檔名:是指最後資料輸出成 csv 檔的檔名 例如: ggm(1997,'2010-1997-Data') 跑完就會出現 ' 2010-1997-Data .csv ' 檔案,裡面就有相關的大盤日成交量資料。 有需要的就 請參考以下程式 吧: 不過我還是要說啦!東西做出來就是我賺到了,老闆念我都在處理技術的問題,但我就是喜歡這樣一次抓完的 爽度 ,我就是不喜歡一筆一筆慢慢來,所以 ... 繼續懶惰!