天天看點

5行代碼帶你爬取 “2021福布斯排行榜“,看看中國都有哪些人?

今天是2021年8月20号,晚上坐在家裡面,突然看到了

2021福布斯排行榜

的新聞。于是有感而發,寫了這篇文章。

新聞 : 排行榜123網富豪頻道為您提供2021年福布斯富豪榜,榜單包括2021世界首富排行榜,以及全球各個國家富豪排名。目前傑夫·貝佐斯以1914億美元的财富位居世界首富第一名,而中國首富為:鐘睒睒(身價:626億美元)

由于這是一個表格型的資料,也沒什麼反扒措施,為了節省時間,直接上

pandas

庫吧,我隻需要5行代碼就行啦!

import pandas as pd
import csv

for i in range(1,16):  # 爬取全部頁
    tb = pd.read_html(f'https://www.phb123.com/renwu/fuhao/shishi_{i}.html')[0] 
    tb.to_csv(r'福布斯排行榜.csv', mode='a', encoding='utf_8_sig', index=0)           

複制

結果如下:

5行代碼帶你爬取 “2021福布斯排行榜“,看看中國都有哪些人?

太尴尬了,标題行都在,那就有14個表頭了,我們讀取一下,去掉重複行吧!

df = pd.read_csv("福布斯排行榜.csv",header=None)
df.drop_duplicates(inplace=True)
df.to_excel("福布斯排行榜.xlsx",index=None)           

複制

直接使用

drop_duplicates()

函數,實作去重操作,并重新儲存了一個新檔案。

好了,開始我們的資料探索吧!

df1 = pd.read_excel("福布斯排行榜.xlsx",header=1)
df1           

複制

結果如下:

5行代碼帶你爬取 “2021福布斯排行榜“,看看中國都有哪些人?

1. 排行榜世界前10

x = df1.head(10)
x           

複制

結果如下:

5行代碼帶你爬取 “2021福布斯排行榜“,看看中國都有哪些人?

2. 上榜人數最多的前10個國家

df1.groupby("國家/地區")["名字"].count().sort_values(ascending=False)[:10].to_frame().reset_index()           

複制

結果如下:

5行代碼帶你爬取 “2021福布斯排行榜“,看看中國都有哪些人?

3. 排行榜中國前10

y = df1[df1["國家/地區"] == "中國"]
y.head(10)           

複制

結果如下:

5行代碼帶你爬取 “2021福布斯排行榜“,看看中國都有哪些人?

其實不管是中國前十,還是世界前十,基本都是一些咱們

耳熟能詳

的企業。不得不說,美國佬上榜的人數确實多。

好了,了解一下就好,在心裡激勵一下自己吧!成不了别人,更應該加油。就當作是周末的一個雞湯吧!