【问题标题】:BeautifulSoup fails to find rowsBeautifulSoup 找不到行
【发布时间】:2020-05-20 20:26:13
【问题描述】:

我正在尝试从网页中的表格中提取多个单元格,并最终将结果导出到 Excel。
这些单元格位于 id 为“fila_88”的 tbody 中。
每行都包含在一个标签内。
每个单元格都包含在一个标签内。
我在python中有以下代码:

sopa = BeautifulSoup(browser.page_source, 'html.parser') # Creates BS element
tabela = sopa.find_all('tbody', id = "fila_88") # Extracts table from source, this works
linha = tabela.find_all('tr') # This line fails

我得到的错误是:

"ResultSet object has no attribute '%s'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?" % key

我的源代码如下:https://pastebin.com/raw/P2aTsXnw

谁能解释我做错了什么?

编辑:为清楚起见,这是提取的表格:https://pastebin.com/raw/sGTYPvaD

【问题讨论】:

  • 您从该错误消息中了解/不了解什么?对我来说,这似乎内容丰富且直截了当。

标签: python selenium web-scraping html-table beautifulsoup


【解决方案1】:

你可以试试这个

  tabela = sopa.find('tbody', id = "fila_88") 
   for  linha in tabela.find_all('tr'):
    row= linha.find('celltag')

【讨论】:

  • 感谢您的回复!我尝试了您的代码行,但它返回相同的错误。也许表格在某种程度上是畸形的?这里我只是提取的表:pastebin.com/raw/sGTYPvaD
  • tabela = sopa.find_all('tbody', id = "fila_88") 改成 tabela = sopa.find('tbody', id = "fila_88")
【解决方案2】:

改为:

sopa = BeautifulSoup(browser.page_source, 'html.parser') # Creates BS element
tabela = sopa.find('tbody', {'id':"fila_88"}) # Extracts table from source, this works
linha = tabela.find_all('tr')

另外,考虑使用熊猫。它从 html 中返回一个表格列表,然后只需获取您想要的表格。示例:

import pandas as pd

dfs = pd.read_html(browser.page_source) 

print(dfs[1].to_string())

输出:

print (dfs[1].to_string())
    Solic.          Abertura                                        Solicitante                     Serviço                         Fila     Transferência Pri.  SLA
0   208293  06/03/2018 12:13  (lcmuniz) Leia Cristiane Loeblein Fernandes Muniz                       Erros  MV Sistemas (customizações)  25/09/2019 21:37    B  NaN
1   208615  08/03/2018 14:03                       (randreola) Rafaela Andreola                       Erros  MV Sistemas (customizações)  24/09/2019 11:15    A  NaN
2   209805  20/03/2018 11:32                        (rejane) Rejane Maria Basso                       Erros                  MV Sistemas  30/01/2020 10:06    B  NaN
3   209891  20/03/2018 17:11                       (randreola) Rafaela Andreola                  Adequações  MV Sistemas (customizações)  28/09/2019 19:51    4  NaN
4   210035  22/03/2018 10:03                        (rejane) Rejane Maria Basso                       Erros                  MV Sistemas  20/12/2018 15:28    B  NaN
5   211811  09/04/2018 17:20                       (randreola) Rafaela Andreola                       Erros                  MV Sistemas  04/09/2019 14:46    B  NaN
6   212559  17/04/2018 10:34                        (rejane) Rejane Maria Basso                  Adequações  MV Sistemas (customizações)  28/09/2019 21:40    4  NaN
7   216167  23/05/2018 15:16                  (lbarros) Loreci Klipel de Barros                  Adequações                  MV Sistemas  31/07/2019 11:40    5  NaN
8   219056  27/06/2018 09:11                        (rejane) Rejane Maria Basso                    Cadastro                  MV Sistemas  30/09/2019 15:34    5  NaN
9   219081  27/06/2018 10:50                        (rejane) Rejane Maria Basso                  Adequações  MV Sistemas (customizações)  28/09/2019 22:09    4  NaN
10  219376  29/06/2018 11:44                       (randreola) Rafaela Andreola                       Erros                  MV Sistemas  31/01/2020 11:23    A  NaN
11  222223  02/08/2018 09:49                       (randreola) Rafaela Andreola                       Erros  MV Sistemas (customizações)  28/09/2019 22:15    4  NaN
12  223034  10/08/2018 16:27                        (rejane) Rejane Maria Basso                       Erros  MV Sistemas (customizações)  14/10/2019 15:27    A  NaN
13  224564  29/08/2018 11:40                          (fvivian) Fernando Vivian                  Adequações  MV Sistemas (customizações)  25/09/2019 22:45    5  NaN
14  230189  06/11/2018 17:03                   (tlaurini) Tarcio Jovani Laurini                  Adequações                  MV Sistemas  12/12/2018 16:13    4  NaN
15  230813  12/11/2018 17:11  (cfontoura) Cleonice Fatima Faganello da Fontoura                  Adequações  MV Sistemas (customizações)  28/09/2019 22:31    4  NaN
16  231827  23/11/2018 10:56               (cverdi) Clanir Lurdes Leoncio Verdi                     Dúvidas                  MV Sistemas  04/10/2019 16:13    4  NaN
17  232326  29/11/2018 12:50              (vsiqueira) Viviane Oliveira Siqueira                  Adequações  MV Sistemas (customizações)  28/09/2019 22:35    4  NaN
18  232474  30/11/2018 13:57                        (rejane) Rejane Maria Basso                  Adequações  MV Sistemas (customizações)  29/09/2019 09:23    4  NaN
19  232496  30/11/2018 15:57                  (brunomolina) Bruno Vieira Molina                  Adequações  MV Sistemas (customizações)  25/09/2019 11:51    5  NaN
20  234738  02/01/2019 18:03               (cverdi) Clanir Lurdes Leoncio Verdi                       Erros                  MV Sistemas  23/01/2019 09:37    4  NaN
21  236830  23/01/2019 13:56                          (mmenegat) Monica Menegat                  Adequações  MV Sistemas (customizações)  29/09/2019 09:55    4  NaN
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-25
    • 2020-06-04
    • 2015-08-21
    • 2021-10-24
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多