在网站https://sray.arabesque.com/dashboard上有一个html格式的搜索框“输入”。我想在搜索框中输入一个公司名称,在下拉菜单中选择该名称的第一个建议(例如,“Anglo American plc”),转到包含该公司信息的url,加载javascripts以获得所获得页面的完整html版本,然后在底部刮取它的GC分数、ESG分数、温度分数
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
options = webdriver.ChromeOptions()
options.add_argument('-headless')
options.add_argument('-no-sandbox')
options.add_argument('-disable-dev-shm-usage')
wd = webdriver.Chrome('chromedriver',options=options)
companies = ['Anglo American plc']
for company in companies:
# dryscrape.start_xvfb()
# session = dryscrape.Session()
# session.visit("https://srayapi.arabesque.com/api/sray/company/history/004BTP-E")
resp = wd.get('https://sray.arabesque.com/dashboard/')
#print(driver.page_source)
e = wd.find_element_by_id(id_='mat-input-0')
e.send_keys(company)
e.send_keys(Keys.ENTER)
innerHTML = e.execute_script("return document.body.innerHTML")
print(innerHTML)
我不太明白如何访问包含英美资源集团信息的URL,如果在搜索框中输入公司名称后我们不知道该URL,如何将其删除
您可以使用selenium实现这一点。您需要更新一些内容
在与headless交互时,您需要提供
window size
诱导
WebDriverWait
()以避免同步问题代码:
输出:
在不确切了解您为什么要使用selenium的情况下,使用搜索,然后获取另一个站点,下面是我将如何获取您要查找的数据:
然后做你想做的任何事情,因此对于esg、gc和温度可能:
相关问题 更多 >
编程相关推荐