我从下面一个机构的网站收集信息url,我想获取员工及其姓名的链接,driver加载此信息,它在浏览器中可见,但html取的是哪一个,即page_source没有这个信息,可能是什么问题?
from selenium import webdriver
from bs4 import BeautifulSoup
url = 'https://kpfu.ru/computing-technology/struktura/kafedry/kafedra-prikladnoj-matematiki/kafedra-prikladnoj-matematiki-sotrudniki'
driver = webdriver.Firefox(executable_path=constants.gecko_path)
driver.get(url)
html = driver.page_source
def gather_employees_links(html):
soup = BeautifulSoup(html, 'lxml')
spans = soup.find_all('span', class_='fio')
a_tags = [span.find('a') for span in spans]
employees = {a.text: a.get('href') for a in a_tags}
return employees
print(gather_employees_links(html))
一个带有webdriver的解决方案,但这也可以通过请求来实现。
进口
代码
第二个选项是通过请求
进口
代码