盘一盘2021全球流量最高的网站~
世界上流量最大的網站有哪些,也許我們都能脫口而出,比如 Google,YouTube,Facebook 還有 PxxnHub 等等,今天我們就通過多個維度來看看,那些叱咤全球的流量網站!
數據獲取
首先我們還是先抓取數據,目標網站是如下地址
https://www.visualcapitalist.com/the-50-most-visited-websites-in-the-world/
該頁面有如下一個表格,里面羅列的全球流量前50的網站,我們就抓取這個數據
下面進行編碼,使用 requests 訪問頁面,通過 BeautifulSoup 解析網頁
import?requests import?pandas?as?pd from?bs4?import?BeautifulSoupheaders?=?{"User-Agent":?"Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/95.0.4638.69?Safari/537.36"}res?=?requests.get("https://www.visualcapitalist.com/the-50-most-visited-websites-in-the-world/",?headers=headers)soup?=?BeautifulSoup(res.text) tbody?=?soup.find("table").find("tbody") tr_list?=?tbody.find_all("tr") data_list?=?[] for?tr?in?tr_list:tds?=?tr.find_all("td")tmp?=?[]for?td?in?tds:tmp.append(td.text)data_list.append(tmp) print(data_list)Output:
[['1', 'Google.com', '92.5B', 'U.S.', 'Search Engines'],['2', 'Youtube.com', '34.6B', 'U.S.', 'TV Movies and Streaming'],['3','Facebook.com','25.5B','U.S.','Social Networks and Online Communities'],['4','Twitter.com','6.6B','U.S.','Social Networks and Online Communities'],['5', 'Wikipedia.org', '6.1B', 'U.S.', 'Dictionaries and Encyclopedias'],['6','Instagram.com','6.1B','U.S.','Social Networks and Online Communities'],....拿到上述數據之后,我們整理成 DataFrame 形式
df?=?pd.DataFrame(data_list) df.rename(columns={0:'Rank',1:'WebSite',2:'Traffic',?3:'Country',?4:'Type'},inplace=True) df['new_Traffic']?=?df['Traffic'].apply(lambda?x:?x.split("B")[0]?if?"B"?in?x?else?float(x.split("M")[0])/1000) print(df)Output:
Rank WebSite Traffic Country Type new_Traffic 0 1 Google.com 92.5B U.S. Search Engines 92.5 1 2 Youtube.com 34.6B U.S. TV Movies and Streaming 34.6 2 3 Facebook.com 25.5B U.S. Social Networks and Online Communities 25.5 3 4 Twitter.com 6.6B U.S. Social Networks and Online Communities 6.6 4 5 Wikipedia.org 6.1B U.S. Dictionaries and Encyclopedias 6.1 5 6 Instagram.com 6.1B U.S. Social Networks and Online Communities 6.1 6 7 Baidu.com 5.6B China Search Engines 5.6 7 8 Yahoo.com 3.8B U.S. News and Media 3.8 8 9 xvideos.com 3.4B Czech Republic Adult 3.4 9 10 pornhub.com 3.3B Canada Adult 3.3 10 11 Yandex.ru 3.2B Russia Search Engines 3.2 11 12 Whatsapp.com 3.1B U.S. Social Networks and Online Communities 3.1 12 13 Amazon.com 2.9B U.S. Marketplace 2.9 ...接下來我們再轉換下格式,保存成csv文件,留著后面使用
web_name = df['WebSite'].values.tolist() newdf = pd.DataFrame(np.repeat(df.values,24,axis=0)) newdf.columns = df.columns newdf['date'] = '' for i, r in newdf.iterrows():print(r['WebSite'])tag = 0ni = 0for j in web_name[::-1]:if r['WebSite'] == j:print(tag)print(ni)r['date'] = d_list[tag:]ni += 1tag += 1 newdf=newdf[['WebSite','Type','new_Traffic', 'date']] newnew = newdf.rename(columns={'WebSite':'name','Type': 'type', 'new_Traffic':'value'}) newnew.to_csv('newdf.csv', index=0)可視化分析
首先導入需要的庫
from?pyecharts.charts?import?Bar,Map,Line,Page,Scatter,Pie,Polar from?pyecharts?import?options?as?opts from?pyecharts.globals?import?SymbolType,ThemeType from?pyecharts.charts?import?Grid,?Liquid from?pyecharts.commons.utils?import?JsCode排名前十榜單
根據流量的大小,獲取排名前十的榜單
x_data?=?df['WebSite'].values.tolist()[:10] y_data?=?df['new_Traffic'].values.tolist()[:10]b?=?(Bar().add_xaxis(x_data).add_yaxis('',y_data).set_global_opts(title_opts?=?opts.TitleOpts(),yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=30))).set_series_opts(label_opts=opts.LabelOpts(is_show=True,position='right')).reversal_axis() ) grid?=?Grid(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)) grid.add(b,?grid_opts=opts.GridOpts(pos_left="20%")) grid.render_notebook()可以看出 Google.com 一騎絕塵,是巨無霸的存在,緊隨其后的就是全球最大的視頻分享網站油管,而我們都熟悉的,呸,是你們都熟悉的P站排在第十,也是個不錯的排名哦
排名前二十榜單
再來看看前二十的情況
x_data?=?df['WebSite'].values.tolist()[10:20] y_data?=?df['new_Traffic'].values.tolist()[10:20]b?=?(Bar().add_xaxis(x_data).add_yaxis('',y_data).set_global_opts(title_opts?=?opts.TitleOpts(),yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=30))).set_series_opts(label_opts=opts.LabelOpts(is_show=True,position='right')).reversal_axis() ) grid?=?Grid(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)) grid.add(b,?grid_opts=opts.GridOpts(pos_left="20%")) grid.render_notebook()前二十相對差距就沒有那么大了,Zoom,亞馬遜等知名網站都在這個區間
國家排名
下面我們根據網站所屬國家進行排名
country_group?=?df.groupby("Country").count().sort_values(by=["Rank"],?ascending=False) x_data?=?country_group.index.tolist()[:7] y_data?=?country_group["Rank"].values.tolist()[:7]b?=?(Bar().add_xaxis(x_data).add_yaxis('',y_data).set_global_opts(title_opts?=?opts.TitleOpts(),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15))).set_series_opts(label_opts=opts.LabelOpts(is_show=True,position='top')) ) grid?=?Grid(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)) grid.add(b,?grid_opts=opts.GridOpts(pos_left="20%")) grid.render_notebook()漂亮國遙遙領先,作為當今世界第一強國,其領先優勢是全方位的,排名2-4位的分別為中國,日本和俄羅斯
散點圖視角
c?=?(Scatter().add_xaxis(x_data).add_yaxis("",?y_data).set_global_opts(title_opts=opts.TitleOpts(),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),visualmap_opts=opts.VisualMapOpts(type_="size",?max_=30,?min_=1),) ) grid?=?Grid(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)) grid.add(c,?grid_opts=opts.GridOpts(pos_left="20%")) grid.render_notebook()網站類型
下面我們來看下不同網站類型的分布情況
type_group?=?df.groupby("Type").count().sort_values(by=["Rank"],?ascending=False) x_type?=?type_group.index.tolist() y_type?=?type_group["Rank"].values.tolist()test?=?['Social?Networks?and?Online?Communities','Marketplace','News?and?Media','Search?Engines','Adult','Programming?and?Developer?Software','Email'] c?=?(Polar().add_schema(angleaxis_opts=opts.AngleAxisOpts(data=x_type[:9],?type_="category")).add("",?y_type[:9],?type_="bar",?stack="stack0").set_global_opts(title_opts=opts.TitleOpts(title="")) ) grid?=?Grid(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)) grid.add(c,?grid_opts=opts.GridOpts(pos_left="20%")) grid.render_notebook()可以看到,網站類型最多的就是社交&在線交流類型的網站,比如Facebook,Twitter等,然后以Amazon為首的購物網站也占據了很大一部分
各類型網站所占比例
l1?=?(Liquid().add("",?[y_type[2]/sum(y_type)],?center=["35%",?"75%"]).set_global_opts(title_opts=opts.TitleOpts(title="")) )l2?=?Liquid().add("lq",[y_type[0]/sum(y_type)],center=["25%",?"26%"],label_opts=opts.LabelOpts(font_size=50,formatter=JsCode("""function?(param)?{return?(Math.floor(param.value?*?10000)?/?100)?+?'%';}"""),position="inside",), ) l3?=?(Liquid().add("",?[y_type[1]/sum(y_type)],?center=["75%",?"26%"]).set_global_opts(title_opts=opts.TitleOpts(title="")) ) l4?=?Liquid().add("",[y_type[3]/sum(y_type)],center=["65%",?"75%"],label_opts=opts.LabelOpts(font_size=50,formatter=JsCode("""function?(param)?{return?(Math.floor(param.value?*?10000)?/?100)?+?'%';}"""),position="inside",is_show=True), )grid?=?Grid(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE)).add(l1,?grid_opts=opts.GridOpts()).add(l2,?grid_opts=opts.GridOpts()).add(l3,?grid_opts=opts.GridOpts()).add(l4,?grid_opts=opts.GridOpts()) grid.render_notebook()動態排行展示
下面我們通過一個小視頻來更加直觀看下全球top網站的排名情況
最后再來一張神圖,非常驚艷
這張圖目測通過 Matplotlib 應該可以實現,大家幫忙給文章點贊和在看,如果數量夠多,咱們就找時間復現一下~
好了,以上就是今天分享的所有內容,如果對你有幫助,幫忙點贊和在看支持哦~
各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)推薦閱讀牛逼!Python常用數據類型的基本操作(長文系列第①篇) 牛逼!Python的判斷、循環和各種表達式(長文系列第②篇)牛逼!Python函數和文件操作(長文系列第③篇)牛逼!Python錯誤、異常和模塊(長文系列第④篇)總結
以上是生活随笔為你收集整理的盘一盘2021全球流量最高的网站~的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022 年是 Linux 桌面年吗?
- 下一篇: 超萌哒!20000个虎年限定红包封面,限