Python 使用beautifulsoup直接抓取HTML表?
有什么直接的方法可以刮去HTML表吗?如果我们给出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=&
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/
我已经更新了答案。看看这是否是您想要的。这是可行的,但如果我们可以定义表的类,那就太好了。但我对结果很满意,再次感谢!