「R」使用 tinyscholar 展示个人谷歌学术档案
谷歌学术是目前感觉最好的学术搜索引擎,谷歌学术档案提供了学者的个人学术信息,不过通常情况我们无法查看和使用这个信息。Y 叔写的 scholar[1] 包虽然提供了齐全的功能,但由于网络限制在国内基本无法使用。
如果我想要简单地获取和展示我的个人学术信息,这时候该怎么办?
通过搜索,我发现有人提供了一个用 php 写的访问接口,该接口可以根据谷歌学术 id 返回一段 json 格式的谷歌学术数据,包括引用数和出版物。数据虽然简单,但已经足够我的使用了。我进一步找到了对应的 GitHub 项目[2] 地址,与 Openbiox 的剑锋交流后在 Hiplot 项目[3]上也部署了一个相同的接口,方便调用。
受 scholar 包启发,我创建了一个名为 tinyscholar 的 R 包,用于解析数据和提供表格/图形可视化。
- 项目地址:https://github.com/ShixiangWang/tinyscholar
安装
# install.packages("devtools")
devtools::install_github("ShixiangWang/tinyscholar")
# devtools::install_git("https://gitee.com/ShixiangWang/tinyscholar")
使用
类似 scholar 包,这里对 Richard Feynman 进行简单展示。
library(tinyscholar)
id <- "B7vSqZsAAAAJ"
profile <- tinyscholar(id)
#> Using cache directory: /var/folders/bj/nw1w4g1j37ddpgb6zmh3sfh80000gn/T//RtmprXOaXD/tinyscholar
#> Cannot find cache file /var/folders/bj/nw1w4g1j37ddpgb6zmh3sfh80000gn/T//RtmprXOaXD/tinyscholar/unsorted_2020-08-16_B7vSqZsAAAAJ.rds
#> Try quering data from server: hiplot
#> Save data to cache file /var/folders/bj/nw1w4g1j37ddpgb6zmh3sfh80000gn/T//RtmprXOaXD/tinyscholar/unsorted_2020-08-16_B7vSqZsAAAAJ.rds
#> Done
tb <- scholar_table(profile)
tb$publications
Publications |
||||
---|---|---|---|---|
title |
authors |
venue |
citations |
year |
Quantum mechanics and path integration |
RP Feynman, AR Hibbs |
McGraw–Hill, 1965 |
27792 |
1965 |
The Feynman lectures on physics |
RP Feynman, RB Leighton, M Sands, SB Treiman |
Physics Today 17, 45, 1964 |
15411 |
1964 |
TheFeynman lectures on physics |
RP Feynman, RB Leighton, M Sands, CA Heras, R Gómez, E Oelker, ... |
Fondo Educativo Interamericano, cop., 1971 |
15222 |
1971 |
Mainly mechanics, radiation, and heat |
RP Feynman, RB Leighton, ML Sands |
Addison Wesley Publishing Company, 1963 |
15070 |
1963 |
Simulating physics with computers |
RP Feynman |
International journal of theoretical physics 21 (6), 467-488, 1982 |
8198 |
1982 |
Space-time approach to non-relativistic quantum mechanics |
RP Feynman |
Reviews of Modern Physics 20 (2), 367, 1948 |
5010 |
1948 |
There's plenty of room at the bottom |
RP Feynman |
Engineering and Science 23 (5), 22-36, 1960 |
4809 |
1960 |
Forces in molecules |
RP Feynman |
Physical Review 56 (4), 340, 1939 |
4465 |
1939 |
The character of physical law |
R Feynman |
MIT press, 1967 |
3319 |
1967 |
Very high-energy collisions of hadrons |
RP Feynman |
Physical Review Letters 23 (24), 1415-1417, 1969 |
3240 |
1969 |
Theory of the Fermi interaction |
RP Feynman, M Gell-Mann |
Physical Review 109 (1), 193, 1958 |
3115 |
1958 |
The theory of a general quantum system interacting with a linear dissipative system |
RP Feynman, FL Vernon |
Annals of physics 24, 118-173, 1963 |
2835 |
1963 |
QED: The strange theory of light and matter |
RP Feyman |
Universities Press, 1985 |
2683 |
1985 |
Photon--hadron interactions |
RP Feynman |
WA Benjamin, Inc., Reading, MA, 1972 |
2471 |
1972 |
Space-time approach to quantum electrodynamics |
RP Feynman |
Physical Review 76 (6), 769, 1949 |
2118 |
1949 |
The theory of positrons |
RP Feynman |
Physical Review 76 (6), 749, 1949 |
1796 |
1949 |
Interaction with the absorber as the mechanism of radiation |
JA Wheeler, RP Feynman |
Reviews of Modern Physics 17 (2-3), 157-181, 1945 |
1673 |
1945 |
Surely You are Joking Mr Feynmanl: Adventures of a Curious Character |
RP Feynman |
Bantam Books, 1986 |
1584 |
1986 |
Quantum-mechanical computers, Suc |
R Feynman |
Phys. Sci 149 (4), 671-688, 1986 |
1559 |
1986 |
An operator calculus having applications in quantum electrodynamics |
RP Feynman |
Physical Review 84 (1), 108, 1951 |
1410 |
1951 |
Update: 2020-08-16 |
pl <- scholar_plot(profile, add_text = FALSE)
pl$citations + ggpubr::rotate_x_text()
image
pl$publications + ggpubr::rotate_x_text()
image
更为详细的介绍请查看在线文档[4]。这里除了 tinyscholar()
这个核心函数用于获取和清理数据,生成一个列表,展示方面读者可以各显神通。
参考资料
[1]scholar: https://cran.r-project.org/web/packages/scholar/vignettes/scholar.html
[2]GitHub 项目: https://github.com/fredrike/googlescholar-api/
[3]Hiplot 项目: https://hiplot.com.cn/
[4]在线文档: https://shixiangwang.github.io/tinyscholar/articles/tinyscholar.html
- 如何使用Windows卷影拷贝服务恢复文件和文件夹
- .net字符串数组查找方式效率比较
- 使用Ring Buffer构建高性能的文件写入程序
- 一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架
- PDF.NET数据开发框架实体类操作实例
- 利用Burp Suite对OWASP Juice Shop进行渗透测试
- Java同步问题面试知识学习
- Android UI控件系列:LinearLayout(线性布局)
- 使用操作符重载,生成ORM实体类的SQL条件语句
- Dance In Heap(四):一些堆利用的方法(下)
- Mac系统的Proton恶意软件:卷!土!重!来!
- Erlang语言学习入门
- Android使用Ant进行apk多渠道打包
- Dance In Heap(三):一些堆利用的方法(中)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python基础之算数运算符
- 一文带你领略并发编程的内功心法
- HBase监控
- CVPR19-Deep Stacked Hierarchical Multi-patch Network for Image Deblurring
- HTTP缓存机制与Cookie
- 52. Vue使用watch监听网页的URL变化
- 如何设计一个秒杀系统
- SQL注入之dns回显注入
- 只要一行代码,实现五种 CSS 经典布局
- Flutter-引入第三方依赖包
- Hive操作——删除表(drop、truncate)
- 如何搭建redis集群 --- redis-cluster
- IO之Standard IO
- XSS原理详解
- IO之Formatted IO