2014-10-15 2 views
0

Мне нужно загружать файлы навалом каждый 0-2,5 МБ от Url к моему серверу (Linux CentOS/может быть любым другим). Ссылка (только один параметр меняется):Массовые файлы для скачивания с url

https://de.majestic.com/data-output?format=Tsv&UsePrefixScan=0&index_data_source=Fresh&item=amazon.com&request_name=ExplorerPages&show_topical_trust_flow=1 

Я хотел бы использовать Wget (если у вас есть другое решение, чем пожалуйста, напишите его):

Мой первый подход, чтобы проверить его только 1 файл:

wget -U --load-cookies=cookies.txt "https://de.majestic.com/data-output?format=Tsv&UsePrefixScan=0&index_data_source=Fresh&item=amazon.com&request_name=ExplorerPages&show_topical_trust_flow=1" 

Это Shell Ответ:

[[email protected] ~]$ wget -U --load-cookies=cookies.txt "https://de.majestic.com/data-output?format=Tsv&UsePrefixScan=0&index_data_source=Fresh&item=amazon.com&request_name=ExplorerPages&show_topical_trust_flow=1" 
--2014-10-15 14:41:45-- https://de.majestic.com/data-output?format=Tsv&UsePrefixScan=0&index_data_source=Fresh&item=amazon.com&request_name=ExplorerPages&show_topical_trust_flow=1 
Resolving de.majestic.com... 212.74.41.143 
Connecting to de.majestic.com|212.74.41.143|:443... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/plain] 
Saving to: `data-output?format=Tsv&UsePrefixScan=0&index_data_source=Fresh&item=amazon.com&request_name=ExplorerPages&show_topical_trust_flow=1.1' 

    [ <=>                                         ] 0   --.-K/s in 0s 

2014-10-15 14:41:45 (0.00 B/s) - `data-output?format=Tsv&UsePrefixScan=0&index_data_source=Fresh&item=amazon.com&request_name=ExplorerPages&show_topical_trust_flow=1.1' saved [0] 

Проблема в том, что он не вниз загрузите файл, но только пустой html. Необходимый файл cookie сохраняется в нужном формате в файле, а загрузка - в браузере.

Если он работает для загрузки 1 файла, я хочу использовать txt со всеми URL-адресами (например, urls.txt), где URL-адреса подобны указанным выше, но изменяется только один параметр. Затем я хочу также, чтобы он загружал, возможно, 10-100 файлов за раз. Если у вас есть решение на PHP или Python для этого, это тоже поможет мне.

Благодарим за помощь!

Andreas Neufeld

+0

Вы только поставляете одно из многих возможных полей HTTP. Их веб-сайт может фильтроваться на основе Referer, User-Agent и т. Д. Попробуйте включить * все * соответствующие HTTP-заголовки в wget и посмотреть, работает ли он тогда. –

ответ

1

Я решил это сейчас с помощью aria2. Это отличный инструмент для таких вещей.

0

В основном:

for i in foo bar 42 baz; do 
    wget -other -options -here "http://blah/blah?param=$i" -O $i.txt 
done 

Обратите внимание на параметр -O, который позволяет установить имя выходного файла. foo.txt" is a little easier to use than data-output? Format = blahblahblah`.

+0

это правильно, но какие команды я использую, чтобы я мог получить файл? –

Смежные вопросы