从google scholar收集引文图表

etudier的Python项目详细描述


tudier是一个小python程序,它使用Seleniumrequests-html来 驱动一个non headless浏览器来收集一个特定的引文图 Google Scholar引文或一组搜索结果。产生的网络是 使用networkxGephi文件和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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java这种检测心跳的方法是线程安全和一致的吗?   c#多语言开发   spring Mongo使用java驱动程序对大数据进行聚合查询?   java为什么加密时会有额外的块?   java Android EditText颜色更改会破坏边距   JavaGuice:根据谁获得不同的实现注入不同的实现?   java如何分割大尺寸。将txt文件数据分成小部分并插入数据库?   java如何使程序显示用户输入的整数的相反顺序?   java如何在Android上使用最新的HttpComponents版本?   java文件大小增加但未写入文本   java如何将安卓视图(工具提示)置于另一个内部视图之上?   java如何在方法内部重写Runnable?   java不能运行一个。jar文件,以前工作得很好   java StringTemplate缩进在字符串中添加空格