Использую python - 3.7.4
ОС - arch
wget - 1.20.3
Есть небольшая программка, которая парсит json и получает из него url картинки, которые нужно скачать и поместить в папку temp/.
Решил использовать os.system с wget:
image = image["node"]
os.system("wget -q -O temp/{}.jpg {}".format(count, image["display_url"]))
В image[«display_url»] лежит url картинки, которую нужно скачать.
Решение выше работало месяца два или чуть больше, но потом резко все полетело. Python почему-то начал передавать во wget обрезанные ссылки(буквально). Вот что я имею ввиду:
image = image["node"]
s = image["display_url"]
print(s)
print()
os.system("wget -q -O temp/{}.jpg {}".format(count, s))
Вывод данного куска кода:
https://scontent-frx5-1.cdninstagram.com/v/t51.2885-15/e35/75412663_553126615246834_6936495500322459169_n.jpg?_nc_ht=scontent-frx5-1.cdninstagram.com&_nc_cat=110&oh=100064bf37a5758e2a58fc8d4d346018&oe=5E894821
--2019-11-22 18:01:21-- https://scontent-frx5-1.cdninstagram.com/v/t51.2885-15/e35/75412663_553126615246834_6936495500322459169_n.jpg?_nc_ht=scontent-frx5-1.cdninstagram.com
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving scontent-frx5-1.cdninstagram.com (scontent-frx5-1.cdninstagram.com)... 185.60.216.52, 2a03:2880:f22d:c4:face:b00c:0:43fe
Connecting to scontent-frx5-1.cdninstagram.com (scontent-frx5-1.cdninstagram.com)|185.60.216.52|:443... connected.
GnuTLS: Resource temporarily unavailable, try again.
GnuTLS: Resource temporarily unavailable, try again.
HTTP request sent, awaiting response... 403 Forbidden
2019-11-22 18:01:21 ERROR 403: Forbidden.
Т.е. он берет ссылку(из переменной s, с которой вручную wget спокойно отрабатывает) и обрубает ее до символа &, с которой wget пишет пустые файлы в temp/
Если кто-то хочет проверить как это работает и лень вбивать:
import os
s = "https://scontent-frx5-1.cdninstagram.com/v/t51.2885-15/e35/75412663_553126615246834_6936495500322459169_n.jpg?_nc_ht=scontent-frx5-1.cdninstagram.com&_nc_cat=110&oh=100064bf37a5758e2a58fc8d4d346018&oe=5E894821"
print(s)
os.system("wget -O {}.jpg {}".format(1, s))
Данная ошибка повторяется как на raspberry pi 3(arch), так и на двух других десктопах с ОС arch.
В чем может быть проблема и как ее решить? Этот способ у меня спокойно работал почти три месяца и тут ни с того ни с сего появилась данная проблема, причем на разных системах…