簡體   English   中英

在 Python 中使用 BeautifulSoup 找不到 HTML 表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM