2011-11-21 58 views
5

嗨,有沒有辦法使用PHP從谷歌學術搜索下載BibTeX條目,而無需逐一手動下載BibTeX?例如,設置搜索值(如「research」),然後通過代碼自動從鏈接下載相關的BibTeX。有沒有辦法從PHP谷歌學術搜索使用PHP下載bibtex

任何幫助,將不勝感激。我嘗試獲取HTML頁面,但是當我嘗試獲取頁面內容時,「Import to 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'; 
} 
?> 
+0

很多谷歌的基於網絡的界面都嚴重依賴於JavaScript,你的屏幕便宜無法處理。你必須弄清楚背景中發生了什麼,才能通過腳本複製它。 –

+0

我認爲,只有登錄後纔會顯示「導入bitex」鏈接。嘗試登錄到Google(我不知道如何編程),然後獲取Scholar頁面。 – koppor

回答

0

簡短的回答是不,你不能做到這一點

谷歌並沒有提供API的搜索/學者和使用公司速率限制。問題在於,對於每個BibTex條目,您需要2個附加請求(1個用於查詢,1個用於「導入鏈接」,最後一個用於獲取實際的BibTex條目內容)

我寫了一個腳本,結果並找到BibTex鏈接並保存結果。但是,由於費率限制不可行,並且幾乎會立即被封鎖。

代碼可以在這裏查看:https://gist.github.com/Tessmore/11099509並且免費使用,但需要您自擔風險。

相關問題