|
| Дата |
|
USD/RUB | 90.7493 | BTC/USD | 70374.4969 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
12.05.2015, 02:19
|
#1
|
Senior Member
Регистрация: 11.03.2012
Сообщений: 586
Бабло: $128055
|
wget загрузка файлов по списку url в разные папки
кто знаком с wget, подскажите, как решить такое:
-есть список прямых url на файлы (картинки), несколько лямов;
нужно скачать файлы по этому списку в n потоков, без рекурсии и прочего. Это я еще смог нагуглить, но как сделать так, чтобы в 1 папке не было больше n картинок.
Ведь это не вариант, чтобы в одной папке было пару лямов файлов.
|
|
|
12.05.2015, 09:41
|
#2
|
Senior Member
Регистрация: 16.07.2009
Сообщений: 938
Бабло: $152632
|
Так разбей общий список урлов на списки (по кол-ву файлов в папке, скорее всего не более 10'000) и запусти на каждый список свой 'wget -i ...' - получишь многопоточную закачку в разные папки
Последний раз редактировалось spamless; 12.05.2015 в 09:47.
|
|
|
12.05.2015, 12:32
|
#3
|
Senior Member
Регистрация: 19.09.2009
Сообщений: 4,096
Бабло: $611825
|
Сам wget такое не может, правильно тебе spamless, сказал, нужно чем-то делать bat файл, куда ты по строчно запишешь wget с юрлом, сделай несколько таких bat файлов и запусти, вот тебе и будет несколько потоков.
Если потоков хочешь много, то лучше это делать на php или perl
|
|
|
12.05.2015, 13:57
|
#4
|
Senior Member
Регистрация: 11.03.2012
Сообщений: 586
Бабло: $128055
ТС -->
|
ТС
понятно.
мне бы такой вариант подошел еще , скажем, скачать в одну папку 1kk , а дальше уже любым скриптом, раскидать эти файлы по папках.
Но наверное, когда будет в папке 1kk файлов , то она ваще не откроется ? тем более что это будет на windows
|
|
|
12.05.2015, 18:13
|
#5
|
Senior Member
Регистрация: 16.07.2009
Сообщений: 938
Бабло: $152632
|
Цитата:
Сообщение от kibnet
понятно.
мне бы такой вариант подошел еще , скажем, скачать в одну папку 1kk , а дальше уже любым скриптом, раскидать эти файлы по папках.
Но наверное, когда будет в папке 1kk файлов , то она ваще не откроется ? тем более что это будет на windows
|
Конечно откро-----оется, но лучше так не делать. И зачем такие сложности, если можно сразу качать в отдельные папки? Либо ты задачу не до конца описываешь, либо занимаешься чем-то странным
|
|
|
12.05.2015, 18:17
|
#6
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953448
|
для этой задачи идеально подходит aria2
__________________
|
|
|
12.05.2015, 18:35
|
#7
|
Senior Member
Регистрация: 11.03.2012
Сообщений: 586
Бабло: $128055
ТС -->
|
ТС
Цитата:
Сообщение от sspy
для этой задачи идеально подходит aria2
|
ого, она даже с web UI есть
|
|
|
12.05.2015, 21:20
|
#8
|
Senior Member
Регистрация: 26.10.2009
Сообщений: 597
Бабло: $127864
|
А что значит в разные папки? Сейчас как раз через wget многопоточно качаю
|
|
|
12.05.2015, 21:36
|
#9
|
Senior Member
Регистрация: 11.03.2012
Сообщений: 586
Бабло: $128055
ТС -->
|
ТС
Цитата:
Сообщение от Diplomat
А что значит в разные папки? Сейчас как раз через wget многопоточно качаю
|
многопоточно не проблема.
значит: чтобы не было в одной папке 2 миллиона файлов.
в общем само безгеморно и автоматизировано,
это запустить загрузку в n потоков в одну папку, например 500k файлов , дальше уже batником распределить файлы в папки, как мне нужно.
кто-то менее геморный способ знает еще )?
|
|
|
12.05.2015, 22:19
|
#10
|
xx999x
Регистрация: 20.12.2010
Сообщений: 2,215
Бабло: $473391
|
Цитата:
Например, у вас есть список URL, которые вам надо скопировать из Интернет. Допустим, список находится в файле URL_list, тогда
wget -i URL_list
|
разбить список на куски, засунуть каждый кусок в отдельную папку (например от 1 до 999) значит файл 1 в папке 1, файл 2 в папке 2 и тп
дальше for($i=1;$i<1000;$i++)
{ system('cd '.$i.';wget -i '.$i.';cd .. ; }
__________________
я знаю стабильный курс на будущее eur/(usd+0.001) + usd/(eur+0.00101) = 0 ( )
|
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
|