在Python中使用BeautifulSoup找不到HTML表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中使用BeautifulSoup找不到HTML表相关的知识,希望对你有一定的参考价值。
我一直在尝试从以下URL(http://www.bmfbovespa.com.br/pt_br/servicos/market-data/consultas/mercado-de-derivativos/precos-referenciais/taxas-referenciais-bm-fbovespa/)解析HTML表,但我找不到使用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。如果您在该基本网址上运行相同的代码,您应该获得预期的结果 -
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页面检查器中的“sources”选项卡。如果在标准检查元素视图中查看表元素上方的几个div,您将看到一个表单元素,其中还有一个引用该页面的操作。
以上是关于在Python中使用BeautifulSoup找不到HTML表的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中使用 BeautifulSoup 解析数据
使用 BeautifulSoup 在 Python 中查找非递归 DOM 子节点
如何在 Python 中使用 Beautifulsoup 从 Indeed 搜索中获取所有招聘信息的 href?
在Python中使用BeautifulSoup找不到HTML表