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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

python提取html表格_想知道世界谁最有钱?3行Python代码告诉你

發(fā)布時間:2024/9/3 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python提取html表格_想知道世界谁最有钱?3行Python代码告诉你 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

想了解世界誰最有錢嗎?

維基百科有專門的網(wǎng)頁來描述世界最有錢的人。

當(dāng)然,為了快速和精確定位符合預(yù)期的結(jié)果,用Python來爬取網(wǎng)頁并分析是一個不錯的辦法。

但你知道嗎?Python中用于執(zhí)行Web爬網(wǎng)的兩個廣泛使用的庫,BeautifulSoup和Scrapy用起來很麻煩,甚至作詩說“難于上青天”。

為什么呢?因為需要從網(wǎng)頁里找到元素標(biāo)簽,然后根據(jù)它們提取文本,再清洗數(shù)據(jù)。而且在這個過程中會遇到各種各樣的坑。讓初涉其中的同學(xué)苦惱不已。“我不就看看有哪些富豪嗎?算了,還是用人眼看吧。”

有沒有幾行就能搞定抓取并分析的辦法呢?

常用Python進(jìn)行數(shù)據(jù)分析的同學(xué)可能不知道,手里使用的熟練工具Pandas卻隱藏了精于數(shù)據(jù)爬取的獨家絕技。本文將向您展示如何使用Pandas直接爬取表格數(shù)據(jù)的簡便方法。

用Pandas爬取網(wǎng)頁,并輕松結(jié)構(gòu)化

本文將從Wikipedia Page提取世界十大億萬富翁的詳細(xì)信息。(維基百科(Wikipedia),是一個基于維基技術(shù)的多語言百科全書寫作計劃,用多種語言編寫的網(wǎng)絡(luò)百科全書。非營利組織維基媒體基金會負(fù)責(zé)營運維基百科,接受捐贈。2018年12月,維基百科入圍2018世界品牌500強。)

下面將使用read_html的Pandas庫的方法讀取HTML表。

import pandas as pdurl ='https://zh.wikipedia.org/wiki/The_World%27s_Billionaires'df_list = pd.read_html(url)

該腳本爬取指定鏈接,并將HTML表返回,并結(jié)構(gòu)化到DataFrame的列表中。

真正的王者,不在于千萬般閃亮動作。一個小動作就能完成其他工具庫幾十行的功能,Pandas,我服了!

接下來查看找到的數(shù)據(jù)總數(shù):

len(df_list)Output:32

要訪問特定的表,只需訪問列表的該元素。例如,df_list[2]將返回下表:

進(jìn)階玩法一:把世界富豪們做個排名

上面只是介紹pandas的常規(guī)玩法,其實可以使用index_col參數(shù)來選擇表索引的特定列。這里按第二列財富進(jìn)行排名,從而實現(xiàn)將抓取的世界富豪排名。

例:

pd.read_html(url,index_col = 1)[2]

返回下表:

從中看到亞馬遜的Jeff Bezos已經(jīng)成為當(dāng)仁不讓的首富了,第一名了。

進(jìn)階玩法二:用自然語言描述來實現(xiàn)自動統(tǒng)計返回

當(dāng)然,這個題目有點人工智能的味道,但實際并不是這么智能。呵呵,大家原諒下標(biāo)題黨。這個功能是利用match參數(shù)指定返回包含特定字符串或正則表達(dá)式的表的列頭,從而實現(xiàn)返回對應(yīng)列頭的數(shù)據(jù)列表功能。

例:

pd.read_html(url, match='Number and combined net worth of billionaires by year')[0].head()

是不是太神奇了!pandas如何實現(xiàn)的這個功能呢?看看對應(yīng)原始網(wǎng)頁大家就應(yīng)該明白了。

太牛了!pandas直接抓取相對應(yīng)文本標(biāo)題的表格并結(jié)構(gòu)化輸出。

進(jìn)階玩法三:其他參數(shù)

skiprows 參數(shù)允許我們跳過起始的" n"行

header 參數(shù)可用于使指定的行作為列標(biāo)題

例:

pd.read_html(url,skiprows = 3,header = 0)[0] .head()

在本文中,從了解世界富豪排名出發(fā),學(xué)習(xí)了如何使用pandas的read_html方法輕松地從頁面抓取HTML表并進(jìn)行解析。隨后,對read_html一些重要參數(shù)也進(jìn)行講解,借助這些參數(shù)可以進(jìn)一步讓我們輕松抓取所需的內(nèi)容。

Pandas 不僅僅是數(shù)據(jù)分析的王者,也是爬蟲世界的掃地僧啊。

- END -

文源網(wǎng)絡(luò),僅供學(xué)習(xí)之用。如有侵權(quán),聯(lián)系刪除。往期精彩

◆ ?50款開源工具你都用過嗎?

◆ ?python+C、C++混合編程的應(yīng)用

◆ ?python網(wǎng)絡(luò)爬蟲的基本原理詳解

◆ ?Python自動操控excel,一小時解決你一天的工作

◆ ?如何用Python增強Excel,減少處理復(fù)雜數(shù)據(jù)的痛苦?

總結(jié)

以上是生活随笔為你收集整理的python提取html表格_想知道世界谁最有钱?3行Python代码告诉你的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。