Использую 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))


Вывод данного куска кода:


scontent-frx5-1.cdninstagram.com/v/t51.2885-15/...

--2019-11-22 18:01:21-- scontent-frx5-1.cdninstagram.com/v/t51.2885-15/...
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 = "scontent-frx5-1.cdninstagram.com/v/t51.2885-15/...;
print(s)
os.system("wget -O {}.jpg {}".format(1, s))


Данная ошибка повторяется как на raspberry pi 3(arch), так и на двух других десктопах с ОС arch.


В чем может быть проблема и как ее решить? Этот способ у меня спокойно работал почти три месяца и тут ни с того ни с сего появилась данная проблема, причем на разных системах…









 , , , ,






URL записи