Python 如何下载html表格内容?
我想从以下网站下载财务数据(“konsernregnskap”而不是“morregnskap”),但我不确定如何下载所有内容: 尝试使用xpath查找表,但未成功Python 如何下载html表格内容?,python,web-scraping,beautifulsoup,scrapy,Python,Web Scraping,Beautifulsoup,Scrapy,我想从以下网站下载财务数据(“konsernregnskap”而不是“morregnskap”),但我不确定如何下载所有内容: 尝试使用xpath查找表,但未成功 我想将所有内容下载到一张excel表格中。类表格包装中有8个表格,前4个表格属于“morregnskap”选项卡,后4个表格属于“konsernregnskap”选项卡,因此选择最后4个表格就是选择所需表格,从中可以开始刮取数据 import requests import json import bs4 url = 'https:
我想将所有内容下载到一张excel表格中。类表格包装中有8个表格,前4个表格属于“morregnskap”选项卡,后4个表格属于“konsernregnskap”选项卡,因此选择最后4个表格就是选择所需表格,从中可以开始刮取数据
import requests
import json
import bs4
url = 'https://www.proff.no/regnskap/yara-international-asa/oslo/hovedkontortjenester/IGB6AV410NZ/'
response = requests.get(url)
soup = bs4.BeautifulSoup(response.text, 'lxml')
tables = soup.find_all('div', {'table-wrap'})
konsernregnskap_data = tables[5:]
@rusu_ro1给出的答案是正确的。然而,我认为这是在这里工作的正确工具 您可以使用获取页面中的所有表。然后使用仅将最后4个表写入excel工作簿 下面的脚本将刮取数据并将每个表写入不同的工作表
import pandas as pd
all_tables = pd.read_html(
"https://www.proff.no/regnskap/yara-international-asa/oslo/hovedkontortjenester/IGB6AV410NZ/"
)
with pd.ExcelWriter('output.xlsx') as writer:
# Last 4 tables has the 'konsernregnskap' data
for idx, df in enumerate(all_tables[4:8]):
# Remove last column (empty)
df = df.drop(df.columns[-1], axis=1)
df.to_excel(writer, "Table {}".format(idx))
注意事项:
- 你也可以
- 确保已安装lxml库<代码>pip安装lxml
在您的特定情况下,它会删除第5个表(只返回7个)。也许b'coz第一个表和第五个表都有相同的数据。您需要检查
/div[@id=“keyFigures\u corporateAccounts”]
以获取所需的数据。请在寻求调试帮助时包含您的代码