日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一分钟教你用Excel从统计局抓数据!

發布時間:2023/12/4 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一分钟教你用Excel从统计局抓数据! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

全世界只有3.14 %?的人關注了

數據與算法之美


現在呢,從網上爬蟲數據來做分析越來越火,如果不會這個skillset做數據處理簡直沒辦法裝逼。作為一個興趣廣泛的高能物理phd,自然不能被時代落下。


首先聲明,我并沒有學過HTML的語言,也沒學過VBA,所以自己解釋的邏輯應該是非常容易理解的,保證沒有任何編程基礎的都能學會。當然前提是你有Excel,沒有的話出門右轉有盜版。


文中的方法其實完全不限于抓取統計局的數據,任何網站都可以想抓就抓,簡直如若出入無人之境。(文末有彩蛋喲!)推薦閱讀《數據挖掘與分析》


好了,Let's rock!


起初呢,是因為之前業余想試著分析分析中國的宏觀數據,上了一下統計局的網站,結果發現簡直是災難...


先來看看美聯儲的網站:(近期發現好多國內金融文章都開始用這個fed的圖了,是不是因為我之前的Macro文章傳播的呢~嘚瑟一下)


Federal Reserve Economic Data



數據量極其豐富,簡直想怎么操作就怎么操作,各種加減乘除還有對比應有盡有。



如上圖就是我想研究carry trade對于美國股市的影響,把他們放在一起可以把相關性看得一清二楚,對整理邏輯非常方便。


但是同時我也想研究國內的數據,然后就懵逼了。


國內統計局的網站是這樣,



Are u kidding me? 只有一個表?還是一個月發布一次?


這一對比就看出來社會主義勤勞質樸的優越性了,自己動手豐衣足食,一個一個數敲進去吧。


我這人比較懶,正當想要放棄的時候突然靈機一動,是不是爬蟲可以幫我這個忙呢?


趕緊在知乎上面狂搜一通,發現大部分都是Python語言,估計上手至少得花個好幾天。有沒有更簡單粗暴一點的呢?接著我就搜到了這個問題下面的答案:

https://www.zhihu.com/question/47883186


簡直是救星,趕緊擼起袖子擼起來,不對,是干起來。


這里呢,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。


來源:潮汐社區?智咖專欄

版權歸原作者所有,轉載僅供學習使用,不用于任何商業用途,如有侵權請留言聯系刪除,感謝合作。


精品課程推薦:

選購數學科普正版讀物

嚴選“數學思維好物”

送給孩子的益智禮物? ?| ??辦公室神器

算法工程師成長閱讀? ?| ??居家高科技

理工科男女實用型禮物精選? ?


數據與算法之美

用數據解決不可能




長按掃碼關注

總結

以上是生活随笔為你收集整理的一分钟教你用Excel从统计局抓数据!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。