python - pandas read_html 错误:找不到我想要的表
问题描述
我想从这个链接中获取表格: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”表。
希望能得到一些帮助或建议,谢谢!
解决方案
您要查找的数据不在<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
推荐阅读
- powerbi - Power BI 和 Snowflake 集成,使用直接查询对坐标进行过滤会给出错误的小数精度
- app-store-connect - App Store Connect:我是否需要创建另一个应用程序以通过 TestFlight 共享具有不同捆绑 ID 的 beta 版本?
- gitlab-ci - 使用 gitlab ci 添加魅力趋势
- python-3.x - 访问 Azure Auto ML 的 Azure 数据存储时出现 SSL 错误
- simulation - 多重插补的 Ancova 模拟
- python - 使用 Python 和 Pandas 访问 JSON 元素
- apache-spark - 基于数据框条件在 Spark 中创建自定义计数器
- python - C4.5 决策树的 ROC 曲线
- batch-file - 如何运行 localhost 服务器然后在一个批处理文件中打开浏览器?
- javascript - 创建新的唯一值集,但从同一记录中复制另一个值以创建新的对象数组