嗨,有没有一种方法可以使用PHP从Google学术搜索为某些内容下载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';
}
?>

最佳答案

简短的答案是不,您不能这样做

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

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

可以在这里查看代码:https://gist.github.com/Tessmore/11099509,它免费使用,但后果自负。

关于php - 有没有办法使用PHP从Google Scholar下载bibtex,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8217769/

10-11 16:40