Wget много длинных URL из файла .txt - PullRequest
0 голосов
/ 14 мая 2019

У меня есть пара сотен 10-секундных mp4s для скачивания.URL-адреса этих файлов перечислены в файле с именем urls.txt, и они выглядят как

http://v16.muscdn.com/thirty_two_alphanumeric_characters/5cf790de/video/tos/maliva/tos-maliva-v-0068/thirty_two_alphanumeric_characters/?rc=ang7cmg8OmZtaTMzZzczM0ApQHRAbzVHOjYzMzM0NTQ2ODMzMzQ1b0BoNXYpQGczdyl2KUBmamxmc3JneXcxcHpAKTY0ZHEzY2otcTZyb18tLWIxNnNzLW8jbyM2QS8wLS00LTQtLzYzMjYtOiNvIzphLW8jOmA6YC1vI2toXitiZmBjYmJeYDAvOg%3D%3D

, поэтому общая длина URL-адреса составляет 329 символов.

Когда я пробую wget -i urls.txt, я получаю Error 414 URI Too Long

Но когда я пытаюсь получить случайный URL из файла, скопировав / вставив его в свой терминал, он работает нормально изагружает один файл.

Итак, я попробовал следующий скрипт bash, чтобы wget каждый URL-адрес в файле, но это выдало мне ту же ошибку.

#!/bin/bash
while IFS='' read -r line || [[ -n "$line" ]]; do
echo "Text read from file: $line"
wget $line --user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Ubuntu Chromium/25.0.1364.160 Chrome/25.0.1364.160 Safari/537.22"
done < "urls.txt"

Я также попытался изменитьсимволы конца строки, выполнив dos2unix для файла, но это не имеет значения.

Что еще можно попробовать?

1 Ответ

0 голосов
/ 14 мая 2019

Если все ваши URL-адреса уже находятся в одном файле, почему бы вам просто не вызвать wget как:

$ wget  --user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Ubuntu Chromium/25.0.1364.160 Chrome/25.0.1364.160 Safari/537.22" -i urls.txt
...