driver = webdriver.Chrome(r'XXXX\chromedriver.exe')
driver.get('https://websummit.com/speakers')
https://websummit.com/speakers
大家好, 我正在Python中使用Selenium来从上述网站中提取演讲者的信息,但是在“查看更多信息”下无法提取更多信息。
我每次只能通过单击“查看更多”来提取25位发言人的信息,但是我希望找到一种更好的解决方案,不需要单击“查看更多”并全部提取。
下面是我的代码:
speakers=WebDriverWait(driver,20).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,'.speaker__content__inner')))
speakers_list = []
for e in speakers:
speakers_list.append(e.get_attribute('innerHTML'))
print(speakers_list)
任何建议都将不胜感激!
答案 0 :(得分:2)
我希望找到一个不需要单击“查看更多”并将其全部提取的更好的解决方案。
此外,如果您仅想获取此信息,则实际上不需要使用硒,您只需查看requests
库-下面的代码将为您提供页面上的所有信息
import requests
import json
for i in range(15):
req = requests.get('https://api.cilabs.com/conferences/ws19/lists/speakers?per_page=25&page='+str(i))
if(req.status_code == 200):
josn2 = req.json()
data = josn2.get('data')
records = []
for x in data:
records.append({"name" : x.get('first_name') + " "+ str(x.get('last_name')),
"job_title" : x.get('job_title'),
"company_name" : x.get('company_name'),
"country" : x.get('country')})
print(records)
print(i)