LINUX.ORG.RU

Можно ли вытащить все ссылки для скачивания на сайте wget-ом? Или скачать файлы по этим ссылкам.

 


0

2

Добрый день. Есть сайт, на котором размещены темы со ссылками на скачивание контента. Ссылки - на cloud.mail.ru, mediafire и подобные сервисы. Сайт требует авторизацию для доступа к контенту. Нужно вытащить все ссылки на скачивание, либо скачать сами файлы. Возможно ли это сделать с помощью wget, и как, если да? Заранее спасибо.



Последнее исправление: user2479 (всего исправлений: 3)

Сайт требует авторизацию для доступа к контенту.

В браузере залогинься на странице. Куки из браузера передай опцией в wget.

sekreti-gollivuda
()
Ответ на: комментарий от Zhbert

Да пусть и сами файлы. Мне все равно их скачивать Он сумеет это сделать?

user2479
() автор топика

лучше curl-ом или aria2, но если качать со всяких помоек, то кроме jdownloader-а альтернатив нема.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

jdownloader не умеет вытаскивать ссылки, ему подавай готовые. он даже на странице сайта, где ссылки не спрятаны, не видит их и не может сграбить.

user2479
() автор топика
Ответ на: комментарий от user2479

Вот готовые и будешь ему подавать, если с файлопомоек (mediafire) качаешь. А парсить своим скриптом, хоть на питоне, хоть на баше.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

если бы я умел парсить и был знаком с питоном или башем… :) поэтому я здесь и прошу помощи) кстати, в jdownloader есть linkgrabber, и вроде бы, его можно настроить на рекурсивный поиск ссылок. вот только я не понимаю, как создать такие правила. кто-нибудь пользовался, подскажет?

user2479
() автор топика

Я вот так скачивал все файлы с одного сайта:

wget -e robots=off --recursive --no-clobber --page-requisites --html-extension --convert-links --domains www.example.org --no-parent www.example.org/Public/

domains - указывает что только с этого домена надо качать, это чтоб если есть ссылки на другие домены не начал выкачивать пол интернета.
no-parent - указывает что качать надо только то что внутри этого пути, это если только определенную часть надо скачать.
Это основные параметры, так можешь посмотреть справку и добавить/убрать нужные опции.

V1KT0P ★★
()
Ответ на: комментарий от V1KT0P

не получается вот что пишу wget –user мойлогин –ask-password -e robots=off –recursive –no-clobber –page-requisites –html-extension –convert-links –domains cloud.mail.ru –no-parent http://мойсайт.com/ пароль запрашивает, что-то скачивает и все. на выходе - страница с авторизацией…

user2479
() автор топика

Нет, твою задачу нельзя решить wget'ом. Более того, её вообще нельзя решить автоматически - только писать парсер(ы) для всех сайтов, которые нужно обойти, выдёргивать с них ссылки и куки (хорошо, если дело обойдётся без капчи), и потом уже wget'ить.

izzholtik ★★★
()
Ответ на: комментарий от anonymous

если бы там была такая иерархия… сайт - мойсайт.ру. иду в подфорум - мойсайт.com/index.php?/forum/91/ еще один уровень - и уже мойсайт.com/index.php?/forum/8/ зашел наконец в тему - мойсайт.com/index.php?/topic/14633/ это придется вообще все тащить, что ли, тогда.а там и болталки,и информационные топики, немало мест, где интересующих меня ссылок нет и быть не может.

user2479
() автор топика
Ответ на: комментарий от user2479

Скачай html мойсайт.com/index.php?/forum/8/ пропарси в нем все ссылки /topic/, сохрани в список list. Скачай этот list, объедини html’s cat’ом, через lynx отфильтруй ссылки на нужные файлобменники, которые потом можно скормить jdownloader’у.

Если дашь адрес сайта и регистрация там открытая, я попробую поэкспериментировать.

anonymous
()
Ответ на: комментарий от anonymous

рега закрыта без вариантов. я не могу даже залогиниться. пишу: wget –user=логин –ask-password –save-cookies=cookies.txt http://мойсайт.com/index.php?/forum/22/ выдает мне кукис.тхт с тремя закомментированными строчками и файл index.php@%2Fforum%2F22%2F…

user2479
() автор топика
Ответ на: комментарий от user2479

–user=логин –ask-password

Это не для тех случаев. Зарегиться надо в браузере, а потом подсунуть качалке куки браузера. И хорошо еще, если они не сеансовые, когда новый заход требует авторизоваться заново. В принципе, куки тогда можно подправить, но не на всех серверах это прокатит.

А много тем? Может, руками проще будет?

anonymous
()
Ответ на: комментарий от anonymous

Вот ты, если сможешь все нужные вкладки пооткрывать в браузере, в PaleMoon с расширением UnMHT их все можно автоматически сохранить. А потом пройтись поиском по локальным файлам и выудить ссылки на файлобменники.

anonymous
()
Ответ на: комментарий от anonymous

тем очень много. ОЧЕНЬ :( пробовал совать куки. с тем же успехом. он попросту не логинится, и все. куки сохраняет какие-то странные, с false. выдрал куки из браузера, сохранил в текстовый, скормил вгету, а он как будто и не видит, качает одно и то же. авторизация в браузере работает не разово, нормально там с этим.

user2479
() автор топика
Ответ на: комментарий от anonymous

не смогу. их тысячи. с тем же успехом я руками могу все ссылки собрать, зачем мне тогда сохранять страницы… но делать это я буду год.

user2479
() автор топика
Ответ на: комментарий от user2479

Попробуй вот так:

sudo apt install aria2
aria2c 'https://example.com/index.php?/forum/22/' -U 'Mozilla/5.0 (Windows NT 6.1; rv:68.0) Gecko/20100101 Firefox/68.0' --load-cookies='~/.mozilla/firefox/ID.default/cookies.sqlite' -j 1 -s 1 -x 1 -m 20
Вместо example.com твой сайт, ID в пути к файлу кук замени на свой. Firefox закрой.

anonymous
()

Какой-то неизвестный сайт предлагает что-то там, народ в теме пытается наванговать, что там и как это скачать… это бред.

Дай ссылку, что тебе нужно и как ты пытаешься это качнуть, - это будет намного эффективнее и быстрее.

lovermann
()
Ответ на: комментарий от anonymous

я не могу залогиниться. что с фаерфоксом, что с хромом пишет - ошибка с кукисами. пробую aria2c http://мойсайт.com –http-user=юзер –http-passwd=пароль –save-cookies=cookies - в файле кукис примерно вот что: мойсайт.com FALSE / FALSE 0 session_id 08e1b5649bb8cfbb83617217157f2400 как тут быть? у меня есть уже текстовый файл с нужными мне страницами, но качаются только страницы входа :(

user2479
() автор топика
Ответ на: комментарий от user2479

–http-user=юзер –http-passwd=пароль

Я еще раз говорю, это для других случаев. Когда на сайте всплывает окошко браузера, где нужно ввести пароль. Старый метод аутентификации, сейчас практически не используется. Сайты используют свои костыли, о которых качалки ничего не знают. Поэтому надо подключать именно куки ИЗ браузера В качалку. Приведи точную команду (в тегах [code ] [/ code] (выбери LORCODE), которую ты запускаешь. Сначала залогинься в браузере, а потом его закрой.

anonymous
()
Ответ на: комментарий от anonymous

плюнул и пошел другим путем - скрестив винду и линух. выкачать сайт в линухе никак не получалось, банально не подхватывались куки. в браузере логинился, браузер закрывал. и вгет, и ария в итоге выдавали одно и то же - однотипные страницы логина. в конце концов мне надоело разбираться, в чем проблема с подхватыванием этих куки. в винде приложухой offline explorer после некоторых мытарств наконец смог получить первое желаемое - сохраненные страницы в количестве 15000. уже в линухе сделал остальное - объединил их и скормил lynx, который выдал мне все ссылки на скачивание, т.е. то, чего я добивался. в очередной раз познал для себя, что некоторые задачи силами одной системы решить куда сложнее, нежели с помощью двух. огромное спасибо за ссылку на инструкцию выше с объединением хтмл и lynx, она мне сэкономила кучу нервов - в винде пробовал искать ссылки в нотпад++, а он, собака, в выдаче обрезал мне строки (и ссылки, конечно), о чем я узнал немного позже, чем мне хотелось бы. еще была странность с заменой «?» на «@» в ссылках, заметил спустя сутки :))

user2479
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.