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()
輸出:在線查看
添加回答
舉報