Làm thế nào để sử dụng wget để tải về từ các trang web lưu trữ?


11

wget là một công cụ rất hữu ích để tải xuống các công cụ trên internet một cách nhanh chóng, nhưng tôi có thể sử dụng nó để tải xuống từ các trang web lưu trữ, như FreakShare, IFile.it Depositfiles, Uploaded, Rapidshare không? Nếu vậy, làm thế nào tôi có thể làm điều đó?


4
Không phải hầu hết các trang web có xu hướng sử dụng javascript và các rào cản khác để loại bỏ liên kết trực tiếp đến các tệp?
Tim

@Tim Tôi nghĩ bạn đúng, vì không thể có được liên kết trực tiếp từ các trang web đó.
Zignd

@swift Bạn có thể vui lòng dịch nó sang tiếng Anh và đăng trên pastebin hoặc một nơi nào khác không
Zignd

Câu trả lời:


11

Loại trang web này cố gắng gây khó khăn khi không sử dụng trình duyệt web đồ họa, bởi vì nếu bạn sử dụng wget, bạn sẽ thiếu tất cả các quảng cáo trả tiền cho băng thông này.

Một số trang web không thực hiện kiểm tra nâng cao và có thể bị lừa dễ dàng: hãy nói với wget giả vờ rằng đó thực sự là Mozilla và nó đến từ trang tải xuống .

wget --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' \
     --referer=http://downloadsite.example.com/download-page-url
     http://downloadsite.example.com/download-page-url/filename.ext`

Hầu hết các trang web kiểm tra cho phép bạn thoát khỏi --user-agent=Mozilla--refererđặt thành URL của tệp bạn đang tải xuống.

Với một số trang web, bạn có thể cần xuất cookie trình duyệt web và chuyển --load-cookiessang wget; tại thời điểm này, sử dụng wget bắt đầu có nhiều công việc hơn là tải xuống thủ công. Phương pháp cuối cùng, có thể hoạt động mọi lúc nhưng yêu cầu một số mã hóa cho từng trang web, là sử dụng khung tự động hóa trình duyệt như Selenium hoặc Watir .

Xem thêm Tự động hóa các yêu cầu web bằng cách sử dụng curl?


Tuyệt vời! Câu trả lời của bạn đã giúp tôi viết bài này cho ZippyshareLiên kết: stackoverflow.com/a/21100640/1533054
Sheharyar

7

Đối với Zippyshare:

Phương pháp này dựa trên câu trả lời của Gilles . Giống như ông nói, mẹo là làm cho máy chủ nghĩ rằng yêu cầu được thực hiện từ trình duyệt và để thực hiện điều đó, bạn cần một vài điều:

  • Liên kết tải xuống (Liên kết thực tế đến tệp)
  • Liên kết giới thiệu (Trang web có nút tải xuống)
  • ID phiên Zippyshare (Tìm thấy trong Cookies)

Dưới đây là ảnh chụp màn hình giải thích nơi bạn có thể nhận từng mục:

Tải xuống từ Zippyshare

Bây giờ hãy mở terminal của bạn và sử dụng lệnh sau (thay thế các mục cần thiết):

wget <download_link> \
--referer='<referrer>' \
--cookies=off --header "Cookie: JSESSIONID=<session_id>" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'

Thí dụ:

wget http://www16.zippyshare.com/d/29887835/8895183/hello.txt \
--referer='http://www16.zippyshare.com/v/29887835/file.html' \
--cookies=off --header "Cookie: JSESSIONID=26458C0893BF69F88EB5743D74FE0F8C" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'

Lưu ý: Trong lệnh, thực tế refererkhông phải vậyreferrer


1
Tôi chỉ muốn nói thêm rằng Sheharyar sử dụng Firebug trong ảnh chụp màn hình này. Điều này là cho tất cả mọi người (bao gồm cả tôi), những người đã cố gắng làm điều này trong Thanh tra (rất tiếc là không thể).
cú pháp

1

Tôi cũng muốn đưa ra câu trả lời hoàn hảo, tôi đã sử dụng mẹo sau đây để tải xuống một bộ phim trẻ em cho con trai tôi từ Turbobit:

Thay vì SESSION_ID từ câu trả lời ở trên, bạn cần tìm "compid" từ tab cookie của FIREBUG:

nhập mô tả hình ảnh ở đây

Sau đó, lệnh cho hệ thống nhúng debian của tôi rất dễ dàng:

wget --referer='http://http://turbobit.net/download/free/yilmacr4e351' --cookies=off --header "Cookie: compid=c9255510c34624435292d8a0e7e405be66aa01f9%7ED01343F87AB53A2C38D957A564DA1D55" --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' http://turbobit.net/download/redirect/B3EDACDA9B899937A149D5AAB6662327/yilmacr4e351/Ters.Yuz.2015.1080P.WEBDL.TR.EN.mkv &

Tôi có thể tắt máy tính của mình bây giờ :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.