使用BeautifulSoup

时间:2018-11-12 23:03:31

标签: python beautifulsoup

我无法解析 div id =“ id =” divTradeHaltResults“ 。当我尝试返回该div中的表时,我得到 None 。提前!

from bs4 import BeautifulSoup 
import requests 

my_url = "https://www.nasdaqtrader.com/Trader.aspx?id=TradeHalts"

r = requests.get(url=my_url)
page_text = r.text

soup = BeautifulSoup(page_text, "lxml")

table = soup.table

print(table)

1 个答案:

答案 0 :(得分:3)

如果您在汤中选择该标签,则会得到该标签,但它是空的。如果您查看网页,则可以在标记中看到表格。我的猜测是该表是用JS(以某种形式)生成的,因此它不是HTML附带的。我的解决方案是转向Selenium之类的东西。

这是我为选择该标签而运行的代码:

soup.find('div', {'id':'divTradeHaltResults'})
# <div id="divTradeHaltResults"></div>

如果您查看页面上的JS,实际上可以找到生成表的函数,如我上面提到的那样:

function GetTradeHalts()
{
    document.getElementById('divTradeHaltResults').innerHTML = "updating....";

    Server.BL_TradeHalt.GetTradeHalts(cb_GetTradeHalts);

    setTimeout(GetTradeHalts, 1000 * 60);
}