亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用不同格式從不同來源提取具有相似數據的 HTML 表 - Python

使用不同格式從不同來源提取具有相似數據的 HTML 表 - Python

偶然的你 2023-10-30 20:09:27
我正在嘗試從兩個不同的 HTML 源中抓取 HTML 表格。兩者非常相似,每個表都包含相同的數據,但它們的結構可能不同,具有不同的列名稱等。對于一個源,所有數據可能包含在一個表中,而另一個源可能將數據分解為兩個單獨的桌子。作為一個例子,我們可以看看 AAPL 和 MMM 股票的內部持有者。屏幕截圖在這里 - https://i.stack.imgur.com/dt6Pa.jpg可以說,最終目標是提取內部人士持有的股份總數——一個單一數字。每個表格的結構可能不同,但應該相似的是“受益”或“股票”等關鍵詞。任何幫助將不勝感激。在上一篇文章中,我能夠提取一些數據。但如果結構不同,則不能循環或重復。根據特定列標題提取 HTML 表 - Pythondf = 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="Name/address")df = df[0]df = df.dropna(axis = 'columns')還嘗試過BSurl = 'https://www.sec.gov/Archives/edgar/data/66740/000120677420000907/mmm3661701-def14a.htm'r = requests.get(url) soup = BeautifulSoup(r.text, 'html.parser')tables = soup.find_all('table')rows = tables.find_all('tr')
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

這確實很復雜,但我們開始吧:)。


import requests

from bs4 import BeautifulSoup

import re

import pandas as pd



urls = ['https://www.sec.gov/Archives/edgar/data/320193/000119312520001450/d799303ddef14a.htm',

        'https://www.sec.gov/Archives/edgar/data/66740/000120677420000907/mmm3661701-def14a.htm']



def main(urls):

    with requests.Session() as req:

        for url in urls:

            r = req.get(url)

            soup = BeautifulSoup(r.content, 'html.parser')

            for item in soup.findAll("a", text=re.compile("^Security")):

                item = item.get("href")[1:]

                catch = soup.find("a", {'name': item}).find_next("table")

                df = pd.read_html(str(catch))

                print(df)

                df[0].to_csv(f"{item}.csv", index=False, header=None)



main(urls)

輸出:


[                                                    0  ...    8

0                                                 NaN  ...  NaN

1                                                 NaN  ...  NaN

2                            Name of Beneficial Owner  ...  NaN

3                                                 NaN  ...  NaN

4                                  The Vanguard Group  ...    %

5                                                 NaN  ...  NaN

6                                     BlackRock, Inc.  ...    %

7                                                 NaN  ...  NaN

8         Berkshire Hathaway Inc. / Warren E. Buffett  ...    %

9                                                 NaN  ...  NaN

10                                         Kate Adams  ...  NaN

11                                                NaN  ...  NaN

12                                    Angela Ahrendts  ...  NaN

13                                                NaN  ...  NaN

14                                         James Bell  ...  NaN

15                                                NaN  ...  NaN

16                                           Tim Cook  ...  NaN

17                                                NaN  ...  NaN

18                                            Al Gore  ...  NaN

19                                                NaN  ...  NaN

20                                        Andrea Jung  ...  NaN

21                                                NaN  ...  NaN

22                                       Art Levinson  ...  NaN

23                                                NaN  ...  NaN

24                                       Luca Maestri  ...  NaN

25                                                NaN  ...  NaN

26                                    Deirdre O’Brien  ...  NaN

27                                                NaN  ...  NaN

28                                          Ron Sugar  ...  NaN

29                                                NaN  ...  NaN

30                                         Sue Wagner  ...  NaN

31                                                NaN  ...  NaN

32                                      Jeff Williams  ...  NaN

33                                                NaN  ...  NaN

34  All current executive officers and directors a...  ...  NaN


[35 rows x 9 columns]]

[                                                   0   1   ...                18  19 

0                        Name  and principal position NaN  ...  Percent of Class NaN  

1                    Thomas “Tony” K. Brown, Director NaN  ...               (5) NaN  

2                           Pamela J. Craig, Director NaN  ...               (5) NaN  

3                           David B. Dillon, Director NaN  ...               (5) NaN  

4                          Michael L. Eskew, Director NaN  ...               (5) NaN  

5                         Herbert L. Henkel, Director NaN  ...               (5) NaN  

6                               Amy E. Hood, Director NaN  ...               (5) NaN  

7                               Muhtar Kent, Director NaN  ...               (5) NaN  

8                           Edward M. Liddy, Director NaN  ...               (5) NaN  

9                           Dambisa F. Moyo, Director NaN  ...               (5) NaN  

10                          Gregory R. Page, Director NaN  ...               (5) NaN  

11                       Patricia A. Woertz, Director NaN  ...               (5) NaN  

12  Michael F. Roman, Chairman of the Board, Presi... NaN  ...               (5) NaN  

13  Inge G. Thulin, Former Executive Chairman of t... NaN  ...               (5) NaN  

14  Nicholas C. Gangestad, Senior Vice President a... NaN  ...               (5) NaN  

15  Ashish K. Khandpur, Executive Vice President, ... NaN  ...               (5) NaN  

16  Julie L. Bushman, Executive Vice President, In... NaN  ...               (5) NaN  

17  Joaquin Delgado, Former Executive Vice Preside... NaN  ...               (5) NaN  

18  Michael G. Vale, Executive Vice President, Saf... NaN  ...               (5) NaN  

19  All Directors and Executive Officers as a Grou... NaN  ...               (5) NaN  


[20 rows x 20 columns]]

[                                                   0   1  ...                  6   7 

0                                       Name/address NaN  ...  Percent  of Class NaN  

1  The Vanguard Group(1) 100 Vanguard Blvd. Malve... NaN  ...               8.78 NaN  

2  State Street Corporation(2) State Street Finan... NaN  ...               7.36 NaN  

3  BlackRock, Inc.(3) 55 East 52nd Street New Yor... NaN  ...               7.30 NaN  


[4 rows x 8 columns]]



查看完整回答
反對 回復 2023-10-30
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號