6

嗨,有没有一种方法可以使用 PHP 从 Google Scholar 下载 BibTeX 条目,而无需手动逐个下载 BibTeX?例如,设置一个像“research”这样的搜索值,然后通过代码自动从链接中下载相关的BibTeX。

任何帮助,将不胜感激。我试图获取 HTML 页面,但是当我尝试获取页面内容时,“导入到 BibTeX”链接在检索到的页面内容上消失了。

我的代码:

<?php
$url = 'http://scholar.google.com/scholar?q=honors+college&amp;hl=en&amp;btnG=Search&     amp;as_sdt=1%2C4&amp;as_sdtp=on';
$needle = 'Import into bibtex';
$contents = file_get_contents($url);
echo $contents;
if(strpos($contents, $needle)!== false) {
echo 'found';
} else {
echo 'not found';
}
?>
4

1 回答 1

1

简短的回答是不,你不能这样做

Google 不提供用于搜索/学者的 API,并使用严格的速率限制。问题是,对于每个 BibTex 条目,您需要 2 个额外的请求(1 个用于查询,1 个用于“导入链接”,最后一个用于获取实际的 BibTex 条目内容)

我写了一个脚本来抓取谷歌学者的结果并找到 BibTex 链接并保存结果。但是,由于速率限制不可行,并且几乎会立即被阻止。

代码可以在这里查看:https ://gist.github.com/Tessmore/11099509并且免费使用,但风险自负。

于 2014-04-19T22:28:38.950 回答