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)
スープの中からそのタグを選択すると、タグが表示されますが、空です。ウェブページを見ると、タグに表があります。私の推測では、このテーブルは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);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加