有了這個庫,這些爬蟲都不用親自寫了!


想必大家平時可能會做一些數(shù)據(jù)分析,那么數(shù)據(jù)分析肯定就少不了數(shù)據(jù)。
數(shù)據(jù)從哪里來呢?我們可以通過網(wǎng)絡(luò)爬蟲來爬取數(shù)據(jù),但是這個還是需要耗費(fèi)一定時間的。
這時候就會有朋友說了,有沒有現(xiàn)成的數(shù)據(jù)呢?當(dāng)然有了,今天就給大家分享一個基于 Python 的、簡便易用的數(shù)據(jù)接口,可能包含我們想要的各種各樣的數(shù)據(jù)。
簡介
這個庫的名字叫 GoPUP,GitHub 主頁是:https://github.com/justinzm/gopup
這其實(shí)是一個基于公開 API 的數(shù)據(jù)接口庫,這個庫封裝了各種各樣的方法,比如通過 wx_hot_list 這個方法我們就可以獲取實(shí)時的微信熱門文章榜單。
基本使用
下面我們來簡單介紹下它的使用方法,首先是安裝,使用 pip3 即可:
pip3 install gopup
因?yàn)檫@個庫會不斷升級,如果要升級的話大家可以運(yùn)行如下命令:
pip3 install -U gopup
安裝完畢之后就可以開始使用了,其實(shí)使用起來還是非常簡單的。
比如這里我們以「微博指數(shù)」為例來說明下用法,官方文檔見 http://doc.gopup.cn/#/data/index_data?id=微博指數(shù)數(shù)據(jù)
接口: weibo_index
目標(biāo)地址: https://data.weibo.com/index/newindex
描述: 獲取指定 詞語 的微博指數(shù)
輸入?yún)?shù)
| 名稱 | 類型 | 必須 | 描述 |
|---|---|---|---|
| word | str | Y | 關(guān)鍵詞 |
| time_type | str | Y | time_type="1hour"; 1hour, 1day, 1month, 3month 選其一. |
輸出參數(shù)
| 名稱 | 類型 | 默認(rèn)顯示 | 描述 |
|---|---|---|---|
| date | datetime | Y | 日期-索引 |
| index | float | Y | 指數(shù) |
大家可以看到,這個接口的目標(biāo)地址實(shí)際上就是一個公開 API,然后我們只需要輸入對應(yīng)的詞語和時間段,就可以輸出對應(yīng)的指數(shù)結(jié)果。
接口用法如下:
import gopup as gp
df_index = gp.weibo_index(word="疫情", time_type="3month")
print(df_index)
這里我們先導(dǎo)入了 gopup 庫,然后調(diào)用了它的 weibo_index 方法,傳入關(guān)鍵詞和時間段,這里我們查詢的是最近三個月的疫情對應(yīng)的微博指數(shù),也就對應(yīng)這個詞在微博的熱度。
運(yùn)行結(jié)果如下:
疫情
index
2022-07-04 1518338
2022-07-05 1950590
2022-07-06 1924655
2022-07-07 1825620
2022-07-08 1768546
... ...
2022-09-30 2083183
2022-10-01 1365015
2022-10-02 1498437
2022-10-03 1323310
2022-10-04 1244449
[93 rows x 1 columns]
可以看到輸出的實(shí)際上是 Pandas 的 DataFrame 數(shù)據(jù)結(jié)構(gòu),如果我們用 Jupyter 運(yùn)行的話可能更直觀一些。
安裝并運(yùn)行 Jupyter
pip3 install jupyter
jupyter notebook
運(yùn)行類似的代碼,結(jié)果如下:
我們還可以進(jìn)一步將其轉(zhuǎn)化為可視化圖表:
import matplotlib.pyplot as plt
plt.figure(figsize=(15, 5))
plt.title("微博「疫情」熱度走勢圖")
plt.xlabel("時間")
plt.ylabel("指數(shù)")
plt.plot(df_index.index, df_index['疫情'], '-', label="指數(shù)")
plt.legend()
plt.grid()
plt.show()
結(jié)果如下:
這樣通過簡單的幾行代碼我們就可以輕松將某個詞的熱度走勢可視化出來了,繪制成折線圖之后,熱度走勢一目了然。
更多數(shù)據(jù)
當(dāng)然上面僅僅是冰山一角,GoPUP 集成了各種公開 API,就像個爬蟲一樣給各種 API 提供了封裝,數(shù)據(jù)可謂是應(yīng)有盡有。
根據(jù) GoPUP 的簡介,這里面的數(shù)據(jù)包括這些類別:
指數(shù)數(shù)據(jù):微博指數(shù)數(shù)據(jù),百度指數(shù)數(shù)據(jù),百度搜索數(shù)據(jù),百度資訊指數(shù),百度媒體指數(shù),百度需求圖譜,百度人群畫像年齡分布,百度人群畫像性別分布,百度人群畫像興趣分布;
算數(shù)數(shù)據(jù):算數(shù)指數(shù)數(shù)據(jù),算數(shù)相關(guān)性分析,算數(shù)地域分析,算數(shù)城市分析,算數(shù)年齡分析,算數(shù)性別分析,算數(shù)用戶閱讀興趣分類,谷歌指數(shù)數(shù)據(jù),谷歌指數(shù)數(shù)據(jù),谷歌事實(shí)查證;
宏觀數(shù)據(jù):中國宏觀數(shù)據(jù),中國宏觀杠桿率數(shù)據(jù),貨幣匯率數(shù)據(jù);
利率數(shù)據(jù):Shibor數(shù)據(jù),Shibor報價數(shù)據(jù),Shibor均值數(shù)據(jù),LPR數(shù)據(jù);
公司數(shù)據(jù):千里馬公司,獨(dú)角獸公司,倒閉公司,商業(yè)特許經(jīng)營公司;
信息數(shù)據(jù):新聞聯(lián)播文字稿;
生活數(shù)據(jù):中國油價數(shù)據(jù),汽柴油歷史調(diào)價信息,調(diào)價日的地區(qū)油價歷史數(shù)據(jù);
詩詞數(shù)據(jù):唐代詩人,唐詩數(shù)據(jù);
影視數(shù)據(jù):實(shí)時電影票房數(shù)據(jù),單日電影票房數(shù)據(jù),單日影院票房數(shù)據(jù),實(shí)時電視劇播映指數(shù),實(shí)時綜藝播映指數(shù),藝人商業(yè)價值,藝人流量價值;
全國高校數(shù)據(jù):全國普通高等學(xué)校名單,全國成人高等學(xué)校名單,全國高等學(xué)校詳情數(shù)據(jù);
疫情數(shù)據(jù):網(wǎng)易疫情數(shù)據(jù),丁香園疫情數(shù)據(jù)……
當(dāng)然這個庫也在不斷更新,更多詳細(xì)的內(nèi)容大家可以到官方文檔了解下:http://doc.gopup.cn/#/README
有了這些數(shù)據(jù),我們做數(shù)據(jù)分析和可視化就不用再去寫爬蟲啦,直接拿來用就好了,簡直不要太方便!
好了,關(guān)于 GoPUP 就介紹這么多了,大家可以來試試看吧~
點(diǎn)擊關(guān)注公眾號,閱讀更多精彩內(nèi)容



