从google scholar收集引文图表
etudier的Python项目详细描述
tudier是一个小python程序,它使用Selenium和requests-html来 驱动一个non headless浏览器来收集一个特定的引文图 Google Scholar引文或一组搜索结果。产生的网络是 使用networkx以Gephi文件和D3可视化方式写出。D3 可视化可能需要一些工作,因此如果您添加样式,请提交 拉取请求。
如果你想知道为什么它使用无头浏览器,那是因为谷歌 quite protective的数据,通常会要求你解决一个验证码 (识别照片中的街道标志、汽车等)。tudier将允许您 完成这些任务,然后继续执行 正在收集数据。
安装
在进行其他操作之前,您需要安装ChromeDriver。如果你使用 在OS X上自制这很简单:
brew install chromedriver
然后您需要安装Python 3和:
pip3 install etudier
运行
要使用它,首先需要导航到google scholar上的一个页面 例如,这里有一页引用雪莉的引文 奥特纳的Theory in Anthropology since the Sixties。然后开始etudier向上 指着那一页。
% etudier 'https://scholar.google.com/scholar?start=0&hl=en&as_sdt=20000005&sciodt=0,21&cites=17950649785549691519&scipsc='
如果你有兴趣从谷歌学者的关键词搜索结果开始 你也可以这么做。例如,这里是搜索“cscw内存”的url 如果我对讨论cscw会议和内存的论文感兴趣:
% etudier 'https://scholar.google.com/scholar?hl=en&as_sdt=0%2C21&q=cscw+memory&btnG='
注意:引用url很重要,这样shell就不会解释 与号作为进程背景的尝试。
--页面
默认情况下,tudier将收集该页上的10条引文,然后查看 前十个引用每一个的堡垒。所以你将不再 收集的引文超过100条(每页10条*10条)。
如果希望获得多页结果,请使用--pages
。为了
示例这将导致收集的结果不超过400个(20*20):
% etudier --pages 2 'https://scholar.google.com/scholar?start=0&hl=en&as_sdt=20000005&sciodt=0,21&cites=17950649785549691519&scipsc='
--深度
最后,如果你想看看引文的引文 --深度参数。
% etudier --depth 2 'https://scholar.google.com/scholar?start=0&hl=en&as_sdt=20000005&sciodt=0,21&cites=17950649785549691519&scipsc='
这将收集最初的10条引文,前10条引文 每一个,然后前10个引用,所以不超过1000个引用1000 引文(10*10*10)。不再是因为肯定会有 每本书引用的出版物的副本。
--输出
默认情况下,将写入名为output.gexf
的文件,但您可以更改
使用--output
选项。输出文件将包含基本元数据
收集自谷歌学者,包括:
- id-由google分配的集群标识符
- url-发布的url
- title-出版物的标题
- authors-以逗号分隔的出版物作者列表
- year-出版年份
- 由引用-引用该出版物的其他出版物的数目
- 被url引用-引用出版物列表的google学者url