[英]Can't find an HTML Table using BeautifulSoup in Python
我一直在尝试从以下 URL ( http://www.bmfbovespa.com.br/pt_br/servicos/market-data/consultas/mercado-de-derivativos/precos-referenciais/taxas-referenciais -bm-fbovespa/ ) 但我无法使用 find_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')
我尝试了在这里找到的一些解决方案,但找不到表格。 有没有人经历过类似的事情? 会不会是编码器的问题?
我很感激你的帮助。
快速浏览后,您引用的页面中的表格实际上来自不同页面的 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')
输出
[<table id="tb_principal1">
<thead>
<tr>
...
</table>]
作为参考,我所知道的最简单的方法是使用 Chrome 页面检查器中的“源”选项卡。 如果您在标准检查元素视图中查看表格元素上方的几个 div,您将看到一个表单元素,其中的操作也引用了该页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.