Python 使用beautifulsoup直接抓取HTML表?

Python 使用beautifulsoup直接抓取HTML表?,python,pandas,beautifulsoup,html-table,Python,Pandas,Beautifulsoup,Html Table,有什么直接的方法可以刮去HTML表吗?如果我们给出HTML表的类并提供结果,那就太好了 例如,我需要得到这个表 我可以使用程序,但我需要一种干净或直接的解决方案。好的,然后尝试以下方法: import requests import pandas as pd url = "https://buchholz-stadtwerke.de/wasseranalyse.html" df = pd.read_html(requests.get(url).text, flavor=&

有什么直接的方法可以刮去HTML表吗?如果我们给出HTML表的类并提供结果,那就太好了

例如,我需要得到这个表

我可以使用程序,但我需要一种干净或直接的解决方案。好的,然后尝试以下方法:

import requests
import pandas as pd

url = "https://buchholz-stadtwerke.de/wasseranalyse.html"

df = pd.read_html(requests.get(url).text, flavor="bs4")
df = pd.concat(df)
df.to_csv("data.csv", index=False)
print(df)
输出:

[                    Parameter  Einheit    Grenzwert Messwert, Februar 2020
0            Wassertemperatur       °C          NaN                     98
1         Leitfähigkeit (25°)    µS/cm         2790                    302
2   Sauerstoff (elektrochem.)     mg/l          NaN                    109
3                     pH-Wert      NaN  6,5 bis 9,5                    806
4             Sättigungsindex      NaN          NaN                    001
5         Karbonathärte (dH°)      °dH          NaN                    454
6           Gesamthärte (dH°)      °dH          NaN                    645
7                Härtebereich      NaN          NaN                  weich
8         Calcitlösekapazität     mg/l            5                    -01
and so on...
此外,这会弹出一个
.csv
文件,其中包含表中的数据

编辑:

这感觉像是一个黑客,但它的工作。根据注释和URL,您可以在
df
中的表上循环,并将它们拆分为单独的文件

import requests
import pandas as pd

url = "https://www.swd-ag.de/energie-wasser/wasser/trinkwasseranalyse/"

df = pd.read_html(io=requests.get(url).text, flavor="bs4")
for index, table in enumerate(df, start=1):
    table.to_csv(f"table_{index}.csv", index=False)

有没有办法单独定义表格?我也有一些页面,其中有两个表。您可以与两个表共享该页面的url吗?例如,这里有许多表
https://www.swd-ag.de/energie-wasser/wasser/trinkwasseranalyse/
我已经更新了答案。看看这是否是您想要的。这是可行的,但如果我们可以定义表的类,那就太好了。但我对结果很满意,再次感谢!