2012-09-04 49 views
8

Tôi muốn viết một spider web đơn giản hoặc chỉ sử dụng wget để tải xuống kết quả pdf từ học giả google. Điều đó thực sự sẽ là một cách khá tốt để có được giấy tờ để nghiên cứu.Tải xuống tất cả các tệp pdf từ kết quả tìm kiếm của Google Scholar bằng cách sử dụng wget

Tôi đã đọc các trang sau trên 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?

Trang cuối cùng có lẽ là cảm hứng nhất của tất cả. Tôi đã thử sử dụng wget như được đề xuất trên this.

Trang kết quả tìm kiếm trên Google Scholar của tôi là thus nhưng không có nội dung nào được tải xuống.

Do mức độ hiểu biết của tôi về webspiders là tối thiểu, tôi nên làm gì để làm điều này có thể? Tôi nhận ra rằng viết một con nhện có lẽ là rất có liên quan và là một dự án tôi có thể không muốn thực hiện. Nếu có thể sử dụng wget, điều đó hoàn toàn tuyệt vời.

Trả lời

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 

Một số điều cần lưu ý:

  1. Sử dụng filetyle: pdf trong truy vấn tìm kiếm
  2. Một mức độ đệ quy
  3. -A pdf cho chỉ chấp nhận file PDF
  4. -H để mở rộng máy chủ
  5. -e robot = tắt và sử dụng --user-agent sẽ đảm bảo kết quả tốt nhất. Google Scholar từ chối tác nhân người dùng trống và kho lưu trữ pdf có khả năng không cho phép rô bốt.

Hạn chế tất nhiên là điều này sẽ chỉ nhấn vào trang kết quả đầu tiên. Bạn có thể mở rộng chiều sâu của đệ quy, nhưng điều này sẽ chạy hoang dã và mất mãi mãi. Tôi khuyên bạn nên sử dụng kết hợp các thứ như Beautiful Soup và các quy trình con wget để bạn có thể phân tích cú pháp và duyệt qua các kết quả tìm kiếm một cách có chiến lược.

+0

Không, tiếc là cửa sổ đầu cuối của tôi bị treo và tắt khi tôi chạy lệnh này. Tôi không chạy Mozilla 5.0 ... nó là firefox 15 .. vì vậy tôi nên thực hiện một số thay đổi cho phù hợp? Tôi đã thay đổi 'firefox 3.0.3' thành' firefox 15' nhưng không có kết quả. – drN

+0

Nó có thể là dòng tiếp tục (\). Đã chỉnh sửa để xóa chúng - hãy thử lại. Tác nhân người dùng có thể là bất cứ điều gì bạn thích… – dongle

+0

hoạt động giống như một sự quyến rũ! ':)' – drN

Các vấn đề liên quan