【问题标题】:pandas read_html error: not finding the table I wantpandas read_html 错误:找不到我想要的表
【发布时间】:2020-12-18 08:45:27
【问题描述】:

我想通过这个链接获取表格:https://radarintermediacoes.com.br/compra-e-venda-de-negocios/estacionamento-no-centro-17/

我正在尝试通过以下代码获取信息:

import pandas as pd
import requests
    
url = "https://radarintermediacoes.com.br/compra-e-venda-de-negocios/estacionamento-no-centro-17/"
    
    
header = {
  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36",
  "X-Requested-With": "XMLHttpRequest"
}

r = requests.get(url, headers=header)

data = pd.read_html(r.text)
data

使用此代码,我设法只获得了我想要的表之一,即“DESPESAS FIXAS/VARIÁVEIS”表,但我还想要“DETALHES DO NEGÓCIO”表。

希望能得到一些帮助或建议,谢谢!

【问题讨论】:

    标签: python pandas web-scraping html-table request


    【解决方案1】:

    您要查找的数据不在<table> 标签内,因此 Pandas 看不到它。但是您可以使用BeautifulSoup 解析数据,例如:

    import requests
    import pandas as pd
    from bs4 import BeautifulSoup
      
    
    url = "https://radarintermediacoes.com.br/compra-e-venda-de-negocios/estacionamento-no-centro-17/"
    soup = BeautifulSoup(requests.get(url).content, 'html.parser')  
    
    all_data = []
    for li in soup.select('div.panel-heading:contains("Detalhes do Negócio") + div li'):
        a, v = li.strong.text, li.strong.find_next_sibling(text=True)
        all_data.append({'Attribute': a.strip(':'), 'Value': v})
    
    df = pd.DataFrame(all_data)
    print(df)
    

    打印:

                      Attribute                                  Value
    0           TIPO DE NEGÓCIO                        Estacionamentos
    1                    REGIÃO                                 Centro
    2        FATURAMENTO MENSAL                           R$ 13.500,00
    3             LUCRO LÍQUIDO                            R$ 3.000,00
    4    NÚMERO DE FUNCIONÁRIOS                                      1
    5         TEMPO DE CONTRATO                                 3 anos
    6  HORÁRIO DE FUNCIONAMENTO      Segunda a sexta ds 07:00 as 19:00
    7    CONDIÇÕES DE PAGAMENTO   50% de entrada e restante em 30 dias
    8                     PREÇO                            R$50.000,00
    

    【讨论】:

      猜你喜欢
      • 2019-08-17
      • 2019-04-23
      • 2015-09-06
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2017-01-14
      相关资源
      最近更新 更多