Пишу код для скачивания .xls файлов с сайта:
wget -r -l1 -nd -k -np -A"*_eur_sell_units.xls" --no-check-certificate "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/20130714/" -P "G:/Downloads/"
Где имею ввиду:
-r -рекурсивная закачка
-l1 - пройти только в папке на 1 уровень
-nd -убрать все директории
-k - преобразовать ссылки
-np - не подниматься в папку выше
-A"*_eur_sell_units.xls" - скачать
--no-check-certificate - не проверять сертификат при защищенном соединении
-P "G:/Downloads/" - путь для скачивания
Скачивается всякая мелкомоторка. Такое ощущение что не отрабатывают -np и -A"*_eur_sell_units.xls". Пробовал по всякому: и -А.xls, и -A".xls".
В чем может быть ошибка?
wget закачка файлов с https-сайта по маске (Загрузка файлов с https-сайта по маске (--no-check-certificate))
Модераторы: /dev/random, Модераторы разделов
-
- Сообщения: 4
- ОС: Windows
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: wget закачка файлов с https-сайта по маске
А надо ли Вам и на один уровень? Может -l0 достаточно?
И добавьте --content-disposition, а то там ссылки кривые, и нужные файлы будут называться index.html.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 4
- ОС: Windows
Re: wget закачка файлов с https-сайта по маске
Bizdelnick спасибо! Заработало в следующем виде:
wget -r -l0 -nd -k -np -A"*_eur_sell_units.xls" --no-check-certificate --content-disposition "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/20130713/" -P "G:/Downloads/"
Смущает время работы процедуры - порядка 20 минут (108 файлов общим объемом 7.3 МБ). В отчете после окончания показывает что скачало более 700 файлов. Как-нибудь можно ускорить время работы?
Чтобы лучше понять принципы работы, пошел дальше:
1. поднялся на каталог выше на сервере "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" (без "20130713/")
2. выделил отдельную компанию, пусть это будет "атомэнергосбыт" -A"*ATOMSBYT_eur_sell_units.xls" - ранее было -A"*_eur_sell_units.xls"
3. увеличил глубину просмотра файлов сервера до 1, т.е. "-l1"
После всех мытарств на выходе имею:
wget -r -l1 -nd -k -np -A"*ATOMSBYT_eur_sell_units.xls" --no-check-certificate --content-disposition "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" -P "G:/Downloads/"
Но процедура не работает, просмотривает несколько файлов, но нужные не берет. Подскажите пожалуйста, в чем тут может быть ошибка?
wget -r -l0 -nd -k -np -A"*_eur_sell_units.xls" --no-check-certificate --content-disposition "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/20130713/" -P "G:/Downloads/"
Смущает время работы процедуры - порядка 20 минут (108 файлов общим объемом 7.3 МБ). В отчете после окончания показывает что скачало более 700 файлов. Как-нибудь можно ускорить время работы?
Чтобы лучше понять принципы работы, пошел дальше:
1. поднялся на каталог выше на сервере "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" (без "20130713/")
2. выделил отдельную компанию, пусть это будет "атомэнергосбыт" -A"*ATOMSBYT_eur_sell_units.xls" - ранее было -A"*_eur_sell_units.xls"
3. увеличил глубину просмотра файлов сервера до 1, т.е. "-l1"
После всех мытарств на выходе имею:
wget -r -l1 -nd -k -np -A"*ATOMSBYT_eur_sell_units.xls" --no-check-certificate --content-disposition "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" -P "G:/Downloads/"
Но процедура не работает, просмотривает несколько файлов, но нужные не берет. Подскажите пожалуйста, в чем тут может быть ошибка?
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: wget закачка файлов с https-сайта по маске
Alex_Fedor_Const писал(а): ↑16.07.2013 22:49Смущает время работы процедуры - порядка 20 минут (108 файлов общим объемом 7.3 МБ). В отчете после окончания показывает что скачало более 700 файлов. Как-нибудь можно ускорить время работы?
Дело в том, что сначала закачиваются все файлы, а потом удаляются ненужные. Не знаю, можно ли тут что-то сделать при посредстве wget...
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 4
- ОС: Windows
Re: wget закачка файлов с https-сайта по маске
Вчера понаблюдал за работой процедуры. По ощущениям не работает "-np" потому что wget проходит весь сайт, в т.ч. поднимается вверх. Это как-нибудь можно исправить?
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: wget закачка файлов с https-сайта по маске
Ничего кроме robots.txt он с более высоких уровней тянуть не должен.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 4
- ОС: Windows
Re: wget закачка файлов с https-сайта по маске
Bizdelnick. Пытаюсь разобраться с принцыпами работы программы:
1. поднялся на каталог выше на сервере "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" (без "20130713/")
2. выделил отдельную компанию, пусть это будет "атомэнергосбыт" -A"*ATOMSBYT_eur_sell_units.xls" - ранее было -A"*_eur_sell_units.xls"
3. увеличил глубину просмотра файлов сервера до 1, т.е. "-l1"
После всех мытарств на выходе имею:
wget -r -l1 -nd -k -np -A"*ATOMSBYT_eur_sell_units.xls" --no-check-certificate --content-disposition "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" -P "G:/Downloads/"
Но процедура не работает, просмотривает несколько файлов, но нужные не берет. Подскажите пожалуйста, в чем тут может быть ошибка?
1. поднялся на каталог выше на сервере "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" (без "20130713/")
2. выделил отдельную компанию, пусть это будет "атомэнергосбыт" -A"*ATOMSBYT_eur_sell_units.xls" - ранее было -A"*_eur_sell_units.xls"
3. увеличил глубину просмотра файлов сервера до 1, т.е. "-l1"
После всех мытарств на выходе имею:
wget -r -l1 -nd -k -np -A"*ATOMSBYT_eur_sell_units.xls" --no-check-certificate --content-disposition "https://www.atsenergo.ru/reporting/public/eur/carana_sell_units/" -P "G:/Downloads/"
Но процедура не работает, просмотривает несколько файлов, но нужные не берет. Подскажите пожалуйста, в чем тут может быть ошибка?
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: wget закачка файлов с https-сайта по маске
Похоже, что файлы затягиваются и сразу же удаляются, поскольку не соответствуют шаблону "*ATOMSBYT_eur_sell_units.xls". Поиск ссылок в них не происходит. Не могу сказать, в чём смысл такого поведения, и можно ли что-то тут сделать. Я бы попробовал другие программы (httrack, pavuk, ...) или, с учётом кривизны ссылок, накатал скрипт, который бы парсил страницы и закачивал файлы исходя из содержимого тега <a>.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали: