一分鐘教你用Excel從統計局抓數據!
現在呢,從網上爬蟲數據來做分析越來越火,如果不會這個skillset做數據處理簡直沒辦法裝逼。作為一個興趣廣泛的高能物理phd,自然不能被時代落下。
首先聲明,我並沒有學過HTML的語言,也沒學過VBA,所以自己解釋的邏輯應該是非常容易理解的,保證沒有任何編程基礎的都能學會。當然前提是你有Excel,沒有的話出門右轉有盜版。
文中的方法其實完全不限於抓取統計局的數據,任何網站都可以想抓就抓,簡直如若出入無人之境。(文末有彩蛋喲!)
好了,Let s rock!
起初呢,是因為之前業餘想試著分析分析中國的宏觀數據,上了一下統計局的網站,結果發現簡直是災難...
先來看看美聯儲的網站:(近期發現好多國內金融文章都開始用這個fed的圖了,是不是因為我之前的Macro文章傳播的呢~嘚瑟一下)
Federal Reserve Economic Data
數據量極其豐富,簡直想怎麼操作就怎麼操作,各種加減乘除還有對比應有盡有。
如上圖就是我想研究carry trade對於美國股市的影響,把他們放在一起可以把相關性看得一清二楚,對整理邏輯非常方便。
但是同時我也想研究國內的數據,然後就懵逼了。
國內統計局的網站是這樣,
Are u kidding me? 只有一個表?還是一個月發布一次?
這一對比就看出來社會主義勤勞質樸的優越性了,自己動手豐衣足食,一個一個數敲進去吧。
我這人比較懶,正當想要放棄的時候突然靈機一動,是不是爬蟲可以幫我這個忙呢?
趕緊在知乎上面狂搜一通,發現大部分都是Python語言,估計上手至少得花個好幾天。有沒有更簡單粗暴一點的呢?接著我就搜到了這個問題下面的答案,
簡直是救星,趕緊擼起袖子擼起來,不對,是幹起來。
這裡呢,Excel其實對於mac用戶非常不友好,因為從網上抓數據這個功能被刪掉了,畢竟是Windows的軟體...不過不用氣餒,我們還有Google doc。當然,對於Windows用戶就沒有這個問題了。
先放上示意圖:
看到沒有!統計局的數據全在自己的Excel里了喲~
以後走哪兒數據抓到哪兒,遇神抓神,遇佛抓佛。
接下來就介紹一下具體是怎麼操作的:
首先呢,我們需要打開一個Excel:
然後把光偉正的統計局網頁地址放在第一格以示崇敬。(這裡我選取的網頁是上個月公布的PMI指數,2017年2月中國製造業採購經理指數為51.6%)
接著,我們就開始從這個網頁抓取表格數據了:
自己也能抓數據了,想想有些小激動呢~
我們需要先任意選一個舒服的位置,輸入一句話:
=IMPORTHTML(A1,"table",1)
如下圖:
那麼這句話是幹什麼呢?
具體pass給IMPORTHTML( )這個function的是三個argument值,
第一個值就是從A1,也就是統計局網頁地址所在Excel的位置來告訴這個function區哪兒抓數據。
第二個值就是選取「table」這個格式,也就是告訴這個function我們想要的是指定網頁上面的表格。我們可以從下面的注釋看到還有一個選項是「list」,這個是在HTML裡面的另一個格式,我們需要的是表格,所以此處可以暫時忽略。(這裡有一個很大的限制就是只能選取這個兩個格式,如果要做更複雜的condition判斷的話就不太可能了,如果stick to Excel的話可能需要藉助VBA了。但這裡我們只介紹最簡單的數據抓取方式。)
第三個值就是網頁中的第n個table。這裡我選取網頁里的第一張表
好了,
沒了。
是不是感覺意猶未盡呢?做好了接受高級裝逼知識的思想準備,結果咻的一聲就沒了?
如果你僅僅只是想要知道怎麼用呢,就不用再繼續往下看了。
但是身為一個合格的科研人員,工作就是搞清楚為什麼。接下來,我們可以更細緻看一看具體這個function是怎麼抓取的。
首先呢,我們需要用Google瀏覽器。因為這個瀏覽器有一個特殊的技能,那就是「Inspect」。
如下圖:
然後毫不猶豫的點開:
這右邊跳出來的一坨到底是什麼東西!
不要急,我們慢慢看嘛。
首先呢,我們可以用一個快捷鍵command+shift+C(這裡我猜Windows用戶應該是control+shift+C),然後移到左邊我們需要的表格上。
這個時候,驚人的事情發生了。右上角那一坨代碼會跟著自己的滑鼠移動!
其實呢,這個快捷鍵做的事情很簡單,就是指出你滑鼠所在位置的代碼。右上角那一坨東西就是這整個網頁的代碼,其中自然也包括了我們需要的表格部分的代碼。
Excel所做的事情呢,也就是從這一坨代碼裡面找出我們需要的表格「table」,然後把表格的內容複製到Excel裡面供我們盡情玩樂。
如下圖,我們可以看到「table」這個關鍵字吧,所指代的就是左邊的那張表,然後「table」其下的內容就是這張表是怎樣呈現在網頁上的。
看到現在我們應該可以理解Excel是怎麼操作的吧,so easy~
但是對於統計局網站的數據抓取其實有一個問題,因為他是一個一個網頁發布的數據,並且跟其他數據混在一起隨機排列,所以說具體選取需要抓取的網頁還是得人工了。當然Excel還有一個function叫做IMPORTxm_x_l( ),這個function是用來抓取某一個xpath_query的,不局限於上面IMPORTHTML( )這個function只能抓table或者list。
所以也可以藉助這個function來將網頁中的信息,比如說搜索具體關鍵字的網頁地址輸入到Excel,然後再將這個網頁地址自動輸入到一開始的IMPORTHTML( ) function裡面用來抓取所有選中網頁的table或者list。
其實利用VBA也可以做這件事,不過可能就需要另外學習一下VBA了,不過大概思路感覺應該是這樣。
當然如果有編程背景的最好還是用Python或者Java來做爬蟲啦,畢竟比較主流,工具包也比較多。後面我也許會再更新一下用Python來做這件事,不過,我懶。
最後的最後,再悄悄告訴一個宇宙無敵超級霹靂最最最簡單的方法,簡直獨門絕技,而且保證一秒鐘就學會,無需任何知識背景。
那就是,
直接copy and paste。
來源:潮汐社區 智咖專欄
Python量化投資實戰營(深圳-香港)
量化交易深入解析
用Python做量化交易
Mongodb資料庫與數據處理
Python量化引擎基礎,執行一個策略
環球FOF投資
股票數據統計與Alpha因子策略
量化策略-CTA策略……
2017年8月21日-25日(第二期)深圳-香港
點擊展開全文
※清華大學教授朱小燕:人機協同最重要 避免冬天就要快速落地
※17考研報考人數最多的10所院校及10大專業
※商業公司應該如何配備數據分析團隊?
※深度神經網路中的數學,對你來說會不會太難?
※騰訊發布80頁重磅報告:哪些行業將被顛覆
TAG:大數據實驗室 |
※統計顯示安卓用戶換iPhone XR的最多
※Steam 10月統計數據:90%玩家選擇Win7和Win10
※統計顯示iPhone印度銷量暴跌:同比減幅達1/3
※新報告揭示微軟Windows新形態設備模塊化系統計劃
※歐洲杯如何抓平局大奶?看看12年數據統計
※央視:北斗導航系統計劃2020年提供全球服務
※2019荷賽獲獎作品器材統計,頂級攝影記者在用哪些相機?
※118年諾貝爾生理醫學獎全面統計:屠呦呦為女性獲獎者年齡最大
※統計學「明星」獲國際大獎:稱等待的結果是好的
※傳統出租夾縫求生,網約車真能幹掉傳統計程車行業嗎?
※豐田用AI幫助傳統計程車預測乘客需求 打車服務失去競爭優勢
※小孩一摔成肉墊! 統計發現「2成兒童因為搭機車傷亡」 6歲以下該禁止
※性別統計專家:性別歧視讓女性更依賴自然資源
※網約車搞死了傳統計程車,南京計程車出現退車潮
※傅蔚岡:網約車的安全性比傳統計程車高
※從經濟學和傳播學看,為何網約車比傳統計程車安全
※「統計學諾貝爾獎」授予R語言軟體工程師
※性別統計專家薩拉:新經濟為女性提供新機遇
※傳統計程車:我們在網約車面前,都快「窮途末路」了
※南京現計程車「墳場」 傳統計程車行業被逼上絕路?