Как продолжить скачивание следующего файла (python библиотека wget), если скачивание одного из файлов зависает?
Я скачиваю все файлы с сайта, но у меня скачивание на каком нибудь файле зависает. Как можно пропустить скачивание текущего файла и перейти к следующему? Данный скрипт может загрузить все сто документов (pdf, doc, excel, zip), а может зависнуть на первом же.
import wget
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import time
import ssl
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
ssl._create_default_https_context = ssl._create_unverified_context
def test():
url_num = 1000
for i in range(1, 100):
url = 'http:site.com/files/download_file/{}'.format(url_num)
url_num += i
r = requests.get(url, verify=ssl.CERT_NONE)
if r.status_code == 200:
try:
wget.download(url)
time.sleep(0.1)
print(f'Документ {i} скачан')
except:
continue
print('Все документы загружены.')
Ответы (1 шт):
Автор решения: Рамис
→ Ссылка
Вариант 1, использовать requests
import requests
r = requests.get('http:site.com/files/download_file/file.pdf', timeout=10, stream=True)
with open('file.pdf', 'wb') as fh:
for chunk in r.iter_content(1024):
fh.write(chunk)
Вариант 1, eventlet
