在Python中找不到使用BeautifulSoup的HTML表

2024-10-02 02:34:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直试图从下面的URL(http://www.bmfbovespa.com.br/pt_br/servicos/market-data/consultas/mercado-de-derivativos/precos-referenciais/taxas-referenciais-bm-fbovespa/)解析一个HTML表,但是使用find\u all找不到它。在

表的id为“tb_principal1”。当我尝试使用以下代码时,我总是得到一个空列表。在

import requests
from bs4 import BeautifulSoup

url = 'http://www.bmfbovespa.com.br/pt_br/servicos/market-data/consultas/mercado-de-derivativos/precos-referenciais/taxas-referenciais-bm-fbovespa/'

r = requests.get(url)
soup = BeautifulSoup(r.text,'lxml')
soup.find_all(id = 'tb_principal1')

我尝试了一些我在这里找到的解决方案,但我找不到表。有没有人经历过类似的事情?可能是编码器有问题吗?在

谢谢你的帮助。在


Tags: brcompthttpdatawwwdemarket
1条回答
网友
1楼 · 发布于 2024-10-02 02:34:25

快速查看之后,您引用的页面中的表实际上是通过来自不同页面的iframe-http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-ptBR.asp的。如果在该基本url上运行相同的代码,则应获得预期结果-

import requests
from bs4 import BeautifulSoup

url = 'http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-taxas-referenciais-bmf-ptBR.asp'

r = requests.get(url)
soup = BeautifulSoup(r.text,'lxml')
soup.find_all(id = 'tb_principal1')

输出

^{pr2}$

作为参考,我知道的最简单的方法是使用chrome页面检查器中的“sources”选项卡。如果您查看标准inspect element视图中table元素上方的几个div,您将看到一个表单元素,其中一个操作也引用了该页面。在

相关问题 更多 >

    热门问题