2011-11-21 7 views
5

Witam, czy istnieje sposób na pobranie wpisu BibTeX dla czegoś z Google Scholar za pomocą PHP bez konieczności ręcznego pobierania BibTeX? Na przykład ustawienie wartości wyszukiwania, takiej jak "badanie", a następnie pobranie powiązanego BibTeX z linków automatycznie za pomocą kodu.Czy istnieje sposób, aby pobrać bibtex z Google Scholar za pomocą PHP

Każda pomoc zostanie doceniona. Próbowałem pobrać stronę HTML, ale gdy próbuję pobrać zawartość strony, łącze "Importuj do BibTeX" znika z pobranej zawartości strony.

Mój kod:

<?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

Wiele internetowych interfejsów google jest silnie zależnych od javascript, z którymi nie może sobie poradzić. Musisz dowiedzieć się, co dzieje się w tle, aby zreplikować je za pomocą skryptów. –

+0

Myślę, że link "Importuj do bitex" jest wyświetlany tylko wtedy, gdy jesteś zalogowany. Spróbuj zalogować się do Google (nie wiem jak to zrobić programowo), a następnie pobierz stronę Scholar. – koppor

Odpowiedz

0

Odpowiedź jest krótka No nie można zrobić tego

Google nie udostępnia API dla wyszukiwania/uczonego i wykorzystuje zdecydowane ograniczenie szybkości. Problem polega na tym, że do każdego wpisu BibTex potrzebne są 2 dodatkowe zapytania (1 dla zapytania, 1 dla "linku importu" i ostatni dla uzyskania rzeczywistej zawartości w tekście BibTex)

Napisałem skrypt, który scrates google scholar wyniki i znajduje łącza BibTex i zapisuje wyniki. Jednak ze względu na limit stawki nie jest opłacalne i zostanie zablokowany prawie natychmiast.

Kod można obejrzeć tutaj: https://gist.github.com/Tessmore/11099509 i jest wolny od użytku, ale na własne ryzyko.

Powiązane problemy