Wget - очень полезный инструмент для быстрой загрузки материалов в Интернете, но могу ли я использовать его для загрузки с сайтов хостинга, таких как FreakShare, IFile.it Depositfiles, Uploaded, Rapidshare? Если так, как я могу это сделать?
Wget - очень полезный инструмент для быстрой загрузки материалов в Интернете, но могу ли я использовать его для загрузки с сайтов хостинга, таких как FreakShare, IFile.it Depositfiles, Uploaded, Rapidshare? Если так, как я могу это сделать?
Ответы:
Этот тип сайта пытается затруднить использование графического веб-браузера, потому что если вы используете 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
Links: stackoverflow.com/a/21100640/1533054
Этот метод основан на ответе Жиля . Как он сказал, хитрость заключается в том, чтобы заставить сервер думать, что запрос делается из браузера, и чтобы это произошло, вам понадобится пара вещей:
Вот скриншот, объясняющий, где вы можете получить каждый предмет:
Теперь откройте свой терминал и используйте следующую команду (заменив необходимые элементы):
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
Я также хотел бы получить более совершенные ответы, я использовал следующий трюк для загрузки детского фильма для моего сына из 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 &
Я могу выключить компьютер сейчас :)