У меня есть видео 450mb. Я хотел бы, чтобы загрузить его на xvideos.com я использую в моем сценарииЗагрузить большой файл слишком медленно
xvideos_log_data = {'login': xv_login,
'password': password,
'referer': 'http://upload.xvideos.com/account',
'log': 'Login to your account'}
def xvideos(f_path):
_print('xvideos started uploading...')
try:
s = requests.Session()
s.post('http://upload.xvideos.com/account', data=xvideos_log_data, headers=headers)
rp = s.get('http://upload.xvideos.com/account/uploads/new')
apc = re.search(r'onclick="launch_upload_basic\(\'(.*?)\'\)', rp.text).group(1)
payload = {'APC_UPLOAD_PROGRESS': apc,
'message': ''}
r = s.post('http://upload.xvideos.com/account/uploads/submit?video_type=other',
data=payload,
files={'upload_file': open(f_path, 'rb')}, headers=headers)
edt = re.search(r'<a href="(.*?)" target="_top"', r.text)
if edt is None:
_print(re.search(r'inlineError.*>(.*?)<', r.text).group(1))
return
payload = {'title': make_title(),
'keywords': ' '.join(make_tags()),
'description': choice(description),
'hide': 0,
'update_video_information': 'Update information'}
r = s.post('http://upload.xvideos.com' + edt.group(1), data=payload, headers=headers)
_print('xvideos finished uploading')
except Exception as error:
_print(error)
finally:
return
Проблема заключается в том, что загрузка происходит очень медленно, но успешно. Я запускаю скрипт на своем сервере. Когда я пытаюсь загрузить в браузере - это быстро.
В чем проблема?
На самом деле, вы, вероятно, может получить вещи быстрее для USECASE, если у вас есть 64-битный питона и достаточно памяти, просто загрузки/mmaping весь файл сразу и передать его в качестве данных вместо ПОСРЕДСТВОМ файлов. (так как вы можете избежать медленной кодировки с этим). – schlenk
У меня 1 ГБ ОЗУ на сервере ubuntu 12.10 x64. Я попробую эти идеи. Благодарю. – Alex