【问题标题】:Google Scholar with Matlab谷歌学术与 Matlab
【发布时间】:2011-09-23 03:35:16
【问题描述】:

我想通过 matlab 脚本自动从 Google Scholar 获取一些数据。我最感兴趣的是 Google Scholar 的 Bibtex 条目和前向引用功能等数据。但是,似乎有no API for Google Scholar,有没有办法使用Matlab从Google Scholar自动获取书目数据?是否有一些工具或代码已经可用?

【问题讨论】:

  • 由于没有 API,也没有结构化格式,因此您最终会得到大量重复数据,并且没有可靠地提取数据的好方法。 Here's the same question 但使用 Mathematica。 Sjoerd C. deVries 在他的回答中展示了它如何导致许多可疑的结果。
  • @yoda 我正在构建这个工具主要是因为我正在领导一个调查团队(后来供我自己使用),这是确保我们不会错过任何重要论文的好方法那里。如果有重复,那很好,因为我们最终将主要查看人类大小的数据块。但是,如果您知道比与 Google Scholar 抗争更好的方法,那么我也很想知道这一点。
  • 我建议您尝试一个在您的研究领域中广为人知的出版物数据库。比如IEEE Explore/SPIRE/WebOfScience/ScienceDirect/CiteSeer等。我相信大部分都有API,但都是商业化的,收费高,所以如果你的意图是开发一个低成本/免费的工具,那么这些可能没有帮助。我认为谷歌学术仍然可以,只是由于缺乏结构,它需要更多的努力。尽管如此,Mac 应用程序“Papers”还是设法从 Google Scholar 中返回了不错的结果,所以这并非不可能:)

标签: matlab google-scholar


【解决方案1】:

我在进一步研究这个项目时发现了一个警告。

Google Scholar 没有 API 是有原因的。使用机器人从 Google Scholar 收集信息是违反 EULA 的。基本思想是,任何试图与 Google Scholar 交互的程序都不能以与最终用户不同的方式进行交互。换句话说,您可以自动获取大量数据。尽管@JustinPeel 答案中的脚本不一定违反条款,但将其置于大规模循环中。

来自this EULA的一些具体点:

您不得,也不得允许任何第三方: ...

(i) 通过任何自动、欺骗、欺诈或其他无效方式(包括但不限于点击垃圾邮件、机器人、宏程序和 Internet 代理)直接或间接生成对结果的查询、印象或点击);

...

(l) “抓取”、“蜘蛛”、索引或以任何非暂时性方式存储或缓存从服务获得的信息(包括但不限于结果,或其任何部分、副本或衍生品);

如果您查看 Google Scholar robots.txt,您还可以看到不允许使用任何类型的机器人。

我从一些同事那里听说,如果您试图规避此政策,您会遇到麻烦,这可能会导致您的实验室无法访问 Google Scholar。

【讨论】:

    【解决方案2】:

    如果您真的想为此使用 Matlab(我不建议这样做),那么您可以查看一些不同的 web scraping 示例,this code 实际上已经从 Google Scholar 获得了一些信息。基本上,只需良好的“matlab 网络抓取”就可以了。

    我个人建议为此使用 Python,因为 Python 更适合一般编程恕我直言。例如,this guy 已经完成了与 Python 类似的操作。但是,如果您了解 Matlab 并且对 Python 没有任何兴趣/时间,请点击第一段中的链接。

    【讨论】:

    • 第二个链接失效了。
    猜你喜欢
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    相关资源
    最近更新 更多