2012-09-04 17 views
8

Chciałbym napisać prosty pająk sieciowy lub po prostu użyć wget, aby pobrać wyniki pdf z google scholar. Byłby to całkiem sprytny sposób na uzyskanie dokumentów do badań.Pobieranie wszystkich plików pdf z wyników wyszukiwania Google Scholar za pomocą wget

Czytałem następujące strony na stackoverflow:

Crawl website using wget and limit total number of crawled links

How do web spiders differ from Wget's spider?

Downloading all PDF files from a website

How to download all files (but not HTML) from a website using wget?

Ostatnia strona jest prawdopodobnie najbardziej inspirujące wszystkim. Próbowałem użyć wget zgodnie z sugestią na this.

Moja strona wyników wyszukiwania Google dla grona scholarów to thus, ale nic nie zostało pobrane.

Biorąc pod uwagę, że mój poziom zrozumienia webspiderzy jest minimalny, co powinienem zrobić, aby było to możliwe? Zdaję sobie sprawę, że pisanie pająka jest być może bardzo zaangażowane i jest projektem, którego może nie chcę podjąć. Jeśli jest to możliwe, używając wget, byłoby to absolutnie niesamowite.

Odpowiedz

11
wget -e robots=off -H --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" -r -l 1 -nd -A pdf http://scholar.google.com/scholar?q=filetype%3Apdf+liquid+films&btnG=&hl=en&as_sdt=0%2C23 

kilka rzeczy do uwaga:

  1. Zastosowanie filetyle: PDF w zapytaniu
  2. jeden poziom rekurencji
  3. -A pdf tylko dla przyjmowania plików PDF
  4. -H na hosta
  5. -e roboty = wyłączone i użycie --user-agent zapewni najlepsze wyniki. Google Scholar odrzuca pustego agenta użytkownika, a repozytorium pdf prawdopodobnie uniemożliwia roboty.

Ograniczeniem jest oczywiście to, że trafi tylko na pierwszą stronę wyników. Możesz zwiększyć głębokość rekurencji, ale to będzie działać dziko i trwać wiecznie. Polecam użycie kombinacji czegoś podobnego do podprocesów Beautiful Soup i wget, aby można było strategicznie analizować i przeszukiwać wyniki wyszukiwania.

+0

Nie, niestety, moje okno terminala ulega awarii i wyłącza się po uruchomieniu tego polecenia. Nie używam Mozilli 5.0 ... to jest Firefox 15. .. więc czy powinienem wprowadzić odpowiednie zmiany? Zmieniłem 'firefox 3.0.3' na' firefox 15', ale bez skutku. – drN

+0

Może to być kontynuacja linii (\). Edytowane, aby je usunąć - spróbuj ponownie. Agent użytkownika może być, co chcesz ... – dongle

+0

działa jak urok! ':)' – drN