问题:怎么知道一个学科领域中总共有多少研究者?
方法:学者的谷歌学术主页中会有对应的领域,以进化计算为例,进入一位进化计算学者的谷歌主页,然后进入标签“Evolutionary Computation”,只要知道该标签下的学者数量,即可大致估算该领域的学者数量。统计学者数量的方法是依靠不断翻下一页,直到翻不动为止,即可知道总人数。
下面的一段不断点击下一页的代码,只要输入学科领域标签对应的网址即可,注意需要上网。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
import time
# 设置Chrome选项
chrome_options = Options()
# 初始化WebDriver
driver = webdriver.Chrome(options=chrome_options)
# 打开网页
driver.get('https://scholar.google.com.hk/citations?view_op=search_authors&hl=zh-CN&mauthors=label:evolutionary_computation&after_author=7j8GALLi__8J&astart=100')
try:
while True:
# 打印当前网址
print(driver.current_url)
# 查找并点击“下一页”按钮
next_button = driver.find_element(By.XPATH, "//button[@aria-label='下一页']")
next_button.click()
# 等待页面加载
time.sleep(1) # 你可以调整这个等待时间以确保页面加载完成
except Exception as e:
print(f"发生异常: {e}")
finally:
driver.quit()