我想通过matlab脚本自动从Google学术搜索中获取一些数据。我最感兴趣的是Google Scholar的Bibtex条目和正向引用功能等数据。但是,似乎有no API for Google Scholar,有没有办法使用Matlab从Google学术搜索中自动获取书目数据?是否有一些工具或代码可用于此?
答案 0 :(得分:7)
我在进一步研究这个项目时发现了一个警告。
Google学术搜索没有API的原因。使用机器人从Google Scholar收集是违反EULA的。基本的想法是,任何试图与Google Scholar接口的程序都不能以与最终用户不同的方式这样做。换句话说,您可以自动获取大量数据。虽然@ JustinPeel的答案中的脚本不一定违反这些条款,但是将它置于一个大规模的循环中,就会。
this EULA的一些具体要点:
您不得,也不得允许任何第三方:......
(i)通过任何自动,欺骗,欺诈或其他无效方式(包括但不限于点击垃圾邮件,机器人,宏程序和Internet代理)直接或间接生成对结果的查询,印象或点击);
...
(l)“爬行”,“蜘蛛”,索引或以任何非暂时性方式存储或缓存从服务获得的信息(包括但不限于结果,或其任何部分,副本或衍生物);
如果您查看Google学术搜索robots.txt,那么您还可以看到不允许任何类型的机器人。
我从一些同事那里听说,如果您试图规避此政策,您将遇到麻烦,这可能导致您的实验室无法访问Google学术搜索。
答案 1 :(得分:4)
如果您真的想使用Matlab(我并不是真的建议),那么您可以查看一些不同的web scraping示例,并且this code实际上已经获得了一些信息谷歌学术。基本上,只需要很好的'matlab web scraping'然后就可以了。
我个人会建议使用Python,因为Python更适合一般编程恕我直言。例如,this guy已经完成了与Python相似的操作。但是,如果您了解Matlab并且对Python没有任何兴趣/时间,请按照第一段中的链接进行操作。