Як використовувати wget для завантаження з веб-сайтів хостингу?


11

wget - це дуже корисний інструмент для швидкого завантаження матеріалів в Інтернеті, але чи можу я використовувати його для завантаження з веб-сайтів хостингу, як-от FreakShare, IFile.it Depositfiles, upload, Rapidshare? Якщо так, то як я можу це зробити?


4
Хіба більшість із цих сайтів, як правило, не використовують JavaScript та інші бар'єри для усунення посилань безпосередньо на файли?
Тім

@Tim Я вважаю, що ти маєш рацію, оскільки неможливо отримати пряме посилання з цих сайтів.
Zignd

@swift Ви можете, будь ласка, перекласти його англійською мовою та опублікувати на пастібіні чи десь іншому
Zignd

Відповіді:


11

Цей веб-сайт намагається ускладнити використання графічного веб-браузера, оскільки якщо ви користуєтеся wget, вам не вистачить усіх цих оголошень, які платять за пропускну здатність.

Деякі сайти не роблять розширених перевірок і їх можна легко обдурити: скажіть wget зробити вигляд, що це справді Mozilla і що він надходить із сайту завантаження .

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`

Більшість веб-сайтів, які перевіряють, дозволяють вам піти --user-agent=Mozillaі --refererвстановити URL-адресу файлу, який ви завантажуєте.

На деяких сайтах вам може знадобитися експортувати файли cookie веб-браузера та перейти --load-cookiesдо wget; в цей момент використання wget починає більше працювати, ніж завантажувати вручну. Кінцевим методом, який може працювати весь час, але вимагає деякого кодування для кожного сайту, є використання системи автоматизації браузера, наприклад Selenium або Watir .

Дивіться також Автоматизація веб-запитів за допомогою curl?


Дивовижно! Ваш відповідь допоміг мені написати це для Zippyshareпосилання: stackoverflow.com/a/21100640/1533054
Sheharyar

7

Для Zippyshare:

Цей метод базується на відповіді Жиля . Як він сказав, хитрість полягає в тому, щоб змусити сервер думати, що запит робиться через браузер, і щоб це відбулося, вам потрібно пару речей:

  • Посилання для завантаження (фактична посилання на файл)
  • Посилання на посилання (веб-сторінка з кнопкою завантаження)
  • Ідентифікатор сеансу Zippyshare (знайдено у файлах cookie)

Ось скріншот, який пояснює, де ви можете отримати кожен предмет:

Завантажити з Zippyshare

Тепер відкрийте свій термінал і використовуйте таку команду (замінюючи необхідні елементи):

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'

Приклад:

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'

Примітка. У команді насправді це refererне такreferrer


1
Я просто хотів би додати, що Sheharyar використовує Firebug на цьому скріншоті. Це для всіх (включаючи мене), хто намагався це зробити в Інспектора (що, на жаль, неможливо).
синтаксичний помилок

1

Я також хотів би отримати вище ідеальні відповіді. Я використовував наступний трюк для завантаження дитячого фільму для мого сина з Turbobit:

Замість SESSION_ID зверху відповіді вам потрібно знайти "compid" на вкладці cookie FIREBUG:

введіть тут опис зображення

Після цього команда для моєї вбудованої системи debian була дуже легкою:

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 &

Я можу зараз вимкнути комп’ютер :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.