基于特定列标题提取HTML表

2024-09-22 10:12:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从下面的URL中提取html表

例如,第44页的2019年董事薪酬表。我认为该表没有特定的id,例如“补偿表”等。。要提取该表,我只能考虑匹配列名或关键字,如“股票奖励”或“所有其他薪酬”,然后获取相关表

是否有一种基于列名提取这些表的简单方法?或者更简单的方法

谢谢

我在抓取HTML表格方面相对较新。。我的代码如下

from bs4 import BeautifulSoup
import requests
url = 'https://www.sec.gov/Archives/edgar/data/66740/000120677420000907/mmm3661701-def14a.htm'
r = requests.get(url) 
soup = BeautifulSoup(r.text, 'html.parser')
rows = soup.find_all('tr')

Tags: 方法importidurlhtml关键字requests表格
1条回答
网友
1楼 · 发布于 2024-09-22 10:12:56

当然可以这样做,根据documentation使用matchattrs使用pandas{}函数

import pandas as pd

df = pd.read_html(
    "https://www.sec.gov/Archives/edgar/data/66740/000120677420000907/mmm3661701-def14a.htm", attrs={'style': 'border-collapse: collapse; width: 100%; font: 9pt Arial, Helvetica, Sans-Serif'}, match="Non-Employee Directors")

print(df)

df[0].to_csv("data.csv", index=False, header=False)

输出:View-Online

enter image description here

相关问题 更多 >