Форум сайта python.su
Пытаюсь загрузить файл с помощью Grab:
g.setup(log_file = 'file.torrent') g.go('http://freshon.tv/download.php?id=' + fileid + '&type=torrent')
Офлайн
Файлы в прикреплении
Прикреплённый файлы:
sravnenie.zip (24,7 KБ)
Офлайн
У меня оба способа работают
import sys from grab import Grab grab = Grab() grab.setup(log_file='/tmp/work/1.torrent') grab.go('http://d.rutor.org/download/185141') with open('/tmp/work/2.torrent', 'wb') as f: f.write(grab.response.body) f.close() sys.exit()
Офлайн
Скорее всего дело в том, что log_file открывается в текстовом режиме ('w') grab/base.py#cl-438
Сохраняйте файл как в посте alexey-grom (в бинарном режиме ‘wb’).
Офлайн
Спасибо, помог способ alexey-grom
Офлайн
Опция log_file исключительно для отладки. Если надо сохранять содержимое response, то самый правильный путь использовать response.save, где учтён момент с “wb” режимом записи:
g.response.save('/path/to/file')
ну или
open('/path/to/file, ‘wb’).write(g.resbponse.body)
Офлайн
Блжад, как бесит винда с ее текстовым режимом. А в тройке еще и строки можно писать только в текстовый файл. Что делать?
Офлайн
> Что делать?
В чём проблем, не понял.
Офлайн
lorienЕсли открыть файл не в двоичном режиме, винда заменяет \r на \r\n.
В чём проблем, не понял.
Офлайн