使用 python,我嘗試提取 NSE 交易所在https://www.nseindia.com/option-chain上公開發布的期權鏈數據表嘗試使用請求會話以及硒,但不知何故該網站不允許使用機器人提取數據。以下是所做的嘗試:嘗試設置會話并嘗試首先從https://www.nseindia.com/api/csrf-token獲取 csrf_token ,然后調用 url,而不是普通請求。然而,該網站似乎有使用 JavaScript 的某些額外授權。通過研究chrome開發者控制臺的xhr和js選項卡,該網站似乎使用了某些js腳本進行首次授權,因此這次使用了selenium。加載驅動程序時還在標頭中傳遞了 useragent 和 Accept-Language 參數(根據此 stackoverflow 答案)。但不知何故,訪問仍然被網站阻止。我有什么明顯遺漏的嗎?或者網站將盡一切努力阻止使用 selenium/requests + python 從網站自動提取數據?無論哪種情況,我如何提取這些數據?以下是我當前的代碼:(從https://www.nseindia.com/option-chain獲取表內容)from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsopts = Options()opts.add_argument("user-agent=Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36")opts.add_argument("Accept-Language=en-US,en;q=0.5")opts.add_argument("Accept=text/html")driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe",chrome_options=opts)#driver.get('https://www.nseindia.com/api/csrf-token')driver.get('https://www.nseindia.com/')#driver.get('https://www.nseindia.com/api/option-chain-indices?symbol=NIFTY')driver.get('https://www.nseindia.com/option-chain')
添加回答
舉報
0/150
提交
取消