Pra*_*ari 3 python selenium akamai autosuggest web-scraping
driver = webdriver.Chrome('C:/Workspace/Development/chromedriver.exe')
driver.get('https://www.nseindia.com/companies-listing/corporate-filings-actions')
inputbox = driver.find_element_by_xpath('/html/body/div[7]/div[1]/div/section/div/div/div/div/div/div[1]/div[1]/div[1]/div/span/input[2]')
inputbox.send_keys("Reliance")
Run Code Online (Sandbox Code Playgroud)
我正在尝试从该网站上抓取表格,该表格会在您在其上方的文本字段中输入公司名称后出现。附加的代码块与普通 google 搜索和 wolfram 网站的此类类似下拉菜单配合良好,但是当我在所需网站上运行我的脚本时,基本上只是在文本字段中输入所需文本 - 下拉列表显示“未找到记录” ',而手动完成后效果很好。
我执行了您的测试,添加了一些调整并按如下方式运行测试:
代码块:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.nseindia.com/companies-listing/corporate-filings-actions')
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@id='Corporate_Actions_equity']//input[@placeholder='Company Name or Symbol']"))).send_keys("Reliance")
Run Code Online (Sandbox Code Playgroud)观察:与您的观察类似,我遇到了同样的障碍,但没有结果如下:
似乎在click()
带有文本的元素上,因为Get Data确实发生了。但是在检查网页的DOM 树时,您会发现某些标签引用了具有关键字akam 的JavaScript。举个例子:<script>
<script type="text/javascript" src="https://www.nseindia.com/akam/11/3b383b75" defer=""></script>
<noscript><img src="https://www.nseindia.com/akam/11/pixel_3b383b75?a=dD02ZDMxODU2ODk2YTYwODA4M2JlOTlmOGNkZTY3Njg4ZWRmZjE4YmMwJmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;" /></noscript>
这清楚地表明该网站受Bot Manager保护,这是Akamai提供的高级机器人检测服务,并且响应被阻止。
根据文章Bot Manager - Foundations:
因此可以得出结论,对数据的请求被检测为由Selenium驱动的WebDriver实例执行,并且响应被阻止。
几个文件:
几个相关的讨论:
归档时间: |
|
查看次数: |
1123 次 |
最近记录: |