python - 从 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)
解决方案
的默认解析器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]]
推荐阅读
- python-3.x - 您如何打印字符串,但每当用户键入特定字符时,它会与正在发生的任何事情重叠并执行 Python3 中的其他代码?
- wxwidgets - 在高 DPI Windows 系统上模糊 UI
- mysql - 将 Mysql 查询转换为 Laravel
- laravel - 新版 Chrome 无法在网络预览窗口中渲染 dd 功能 Laravel
- xsd - JetBrains PhpStorm 2018.2:获取外部资源时出错(xmlns、schemaLocation、xsd)
- vue.js - 如何访问两级嵌套变量?
- c# - C# 限制池连接
- python-3.x - Kafka 代理(0.10.0 或更高版本)作为 Python 中 Spark Streaming 的 DStream 源
- youtube - youtube-dl 给了我一个关于 ssl 的错误
- python - 如何为 dask apply_over_axes 调用设置元