【问题标题】:parsing whole html table with beautiful soup用漂亮的汤解析整个 html 表
【发布时间】:2020-03-29 22:19:52
【问题描述】:

我正在尝试使用漂亮的汤将 html 表格刮成熊猫。

网址是https://www.investing.com/equities/exxon-mobil-income-statement

我在 HTML 代码 (id="rrtable") 中标识了该表,但我在将其解析并放入 pandas 数据框时遇到了困难。

网站返回 403 错误,所以我必须先设置标头以绕过 403。

我希望看到一个包含 5 列和 5 行财务数据的数据框,但我只是得到未解析的标题并且没有内容。这是哪里出了问题?

#!/usr/local/bin/python3

import requests
from bs4 import BeautifulSoup
import pandas as pd

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
url = "https://www.investing.com/equities/exxon-mobil-income-statement"
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')

table = soup.find_all(id="rrtable")

df = pd.DataFrame(table)

print(df)

任何帮助将不胜感激!

谢谢

【问题讨论】:

    标签: pandas beautifulsoup


    【解决方案1】:
    import requests
    import pandas as pd
    
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'}
    r = requests.get(
        "https://www.investing.com/equities/exxon-mobil-income-statement", headers=headers)
    df = pd.read_html(r.content)[1]
    
    df.to_csv("data.csv", index=False)
    

    输出:view-online

    输出样本:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-23
      • 1970-01-01
      • 2019-11-10
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 2021-06-22
      相关资源
      最近更新 更多