Python 如何下载html表格内容?

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:

我想从以下网站下载财务数据(“konsernregnskap”而不是“morregnskap”),但我不确定如何下载所有内容:

尝试使用xpath查找表,但未成功


我想将所有内容下载到一张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
味道:str或None,字符串的容器

要使用的分析引擎。'“bs4”和“html5lib”是 它们彼此都是为了向后兼容。这个 默认值为“无”时,尝试使用lxml进行解析,如果解析失败,则返回 回到bs4+html5lib

html5lib从无效标记生成有效的HTML5标记 自动地这对于解析HTML表非常重要, 因为它保证了文件的有效性。然而,这并不意味着 这是“正确的”,因为修复标记的过程没有 单一定义


在您的特定情况下,它会删除第5个表(只返回7个)。也许b'coz第一个表和第五个表都有相同的数据。

您需要检查
/div[@id=“keyFigures\u corporateAccounts”]
以获取所需的数据。请在寻求调试帮助时包含您的代码