首页 > 解决方案 > 从 html 表中抓取数据

问题描述

我试图从B3 站点刮一张表,但结果是一个空的数据框。

怎么了?

import pandas as pd
url = "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-ptBR.asp?Data=31/08/2020&Data1=20200831&slcTaxa=PRE"
df  = pd.read_html(io=url)
print (df)

标签: pythonpandasweb-scraping

解决方案


的默认解析器read_html是 lxml,它无法解析您的文档。切换到 html5lib (Beautifulsoup 4) 就可以了。

下面是添加了风味参数的代码。

import pandas as pd
url = "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-ptBR.asp?Data=31/08/2020&Data1=20200831&slcTaxa=PRE"
df  = pd.read_html(io=url, flavor='bs4')
print (df)

[    Dias Corridos  DI x pré       
    Dias Corridos 252(2)(4) 360(1)
0               1       190      0
1               8       191    171
2              11       191    199
283         10760       848    832
284         10801       848    832
285         10941       848    833
286         12677       854    838

[287 rows x 3 columns]]


推荐阅读