亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

bs4美麗的湯由于某種原因找不到div的div

bs4美麗的湯由于某種原因找不到div的div

ibeautiful 2022-08-25 13:57:54
這:HTML<div id="divTradeHaltResults"> <div class="genTable"   <table>    <tbody>    <tr>      <td> 03/10/2020  </td>      <td> 15:11:45     </td>代碼url = r'https://www.nasdaqtrader.com/trader.aspx?id=TradeHalts'r=requests.get(url)soup = BeautifulSoup(r.content, "html.parser")table = soup.find('div',{'id':'divTradeHaltResults'})divclass=table.find('div',{'class':"genTable"})divt=divclass.find('table')結果:divclass={None Type}None我已經嘗試了“lxml”解析器,但無濟于事。我可以使用硒獲得它,但它使用了太多的資源。從檢查圍繞多個div的所有其他問題來看,bs4似乎存在固有的問題。有沒有人解決它?我嘗試了其他人的多種想法。
查看完整描述

1 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您得到的原因在于,該頁面是動態加載的,一旦頁面本身加載,就會通過該頁面呈現。NoneJavaScript


因此,我已經能夠跟蹤發送請求以獲取它的來源。這可以通過瀏覽器在 下進行跟蹤。tableJSXHRDeveloper-ToolsNetwork-Tab


否則,您可以使用它。我已經為您提供了這兩種解決方案。selenium


import requests

import pandas as pd



json = {

    "id": 2,

    "method": "BL_TradeHalt.GetTradeHalts",

    "params": "[]",

    "version": "1.1"

}


headers = {

    'Referer': 'https://www.nasdaqtrader.com/trader.aspx?id=TradeHalts'

}


r = requests.post(

    "https://www.nasdaqtrader.com/RPCHandler.axd", json=json, headers=headers).json()


df = pd.read_html(r["result"])[0]


df.to_csv("table1.csv", index=False)

輸出:在線查看


from selenium import webdriver

from selenium.webdriver.firefox.options import Options

from bs4 import BeautifulSoup

import pandas as pd



options = Options()

options.add_argument('--headless')

driver = webdriver.Firefox(options=options)


driver.get(

    "https://www.nasdaqtrader.com/trader.aspx?id=TradeHalts")


df = pd.read_html(driver.page_source)[2]


# print(df)

df.to_csv("table.csv", index=False)

driver.quit()

輸出:在線查看




查看完整回答
反對 回復 2022-08-25
  • 1 回答
  • 0 關注
  • 79 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號