Форум сайта python.su
krishnaramaДак тут его функциональность не нужна, а скорость загрузки он определять вроде как не умеет.
lorien, а почему ты не предлагаешь grab?
Офлайн
Ну, во-первых, товарищ его абсолютно везде предлагал
Во-вторых, я не знаю, как стоит вопрос - устроит ли качать файл и смотреть на время его загрузки?
И в третьих, если можно как-то хукнуть writefunction, то с ней становится возможно все.
Вообще, такая функциональность есть в urlretrieve (сообщать коллбеку о загруженых блоках). Очень жалко, что вся стандартная библиотека кроме как через жопу с проксями не работает.
Офлайн
krishnaramaНет, нужно отслеживать скорость в данный момент.
Во-вторых, я не знаю, как стоит вопрос - устроит ли качать файл и смотреть на время его загрузки?
krishnaramaНе знаете, с чем это связано и будет ли исправлено в ближайшем времени?
Очень жалко, что вся стандартная библиотека кроме как через жопу с проксями не работает.
Офлайн
А чем не устраивает скачать тестовый файл?
DwarfС чем связано - хз, поддержку socks прокси все никак не могут добавить даже в requests, хотя уже и патч прислали.
Не знаете, с чем это связано и будет ли исправлено в ближайшем времени?
Отредактировано krishnarama (Март 17, 2013 07:46:47)
Офлайн
requests это же надстройка над urllib3?
Офлайн
krishnarama
С чем связано - хз, поддержку socks прокси все никак не могут добавить даже в requests, хотя уже и патч прислали.
Офлайн
https://github.com/kennethreitz/requests/pull/478
Вот, кстати, нужный тебе функционал: http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow
Отредактировано krishnarama (Март 18, 2013 04:42:16)
Офлайн
> не хотелось бы её использовать. Во-первых она давно не обновляется, во-вторых под Windows её надо собирать, что неудобно, ибо желательно, чтобы всё ставилось через pip.
Ну, честно говоря, я через pycurl (посредством граба) спарсил не один десяток миллионов страниц. И ещё куча народа юзает его. Да там есть баги, а где их нет? Под винду есть exe инсталляторы курлы. Мы даже под третий питон пайкурл собирали под линём и под виндой.
> lorien, а почему ты не предлагаешь grab?
Потому что я туда не прикручивал контроль скорости закачки, но вроде сам pycurl это умеет.
Ну и если очень что-то надо, а самому делать не охочется, платите деньгу и это появится в грабе очень быстро.
Офлайн
А в grab есть keep-alive и пуникод?
Офлайн
Keep-alive - без понятия, разве что это как-то автоматически курл делает. Был бы признателен, если бы кто-то исследовал этот вопрос в грабе и написал отчёт.
Пуникод есть
>>> from grab import Grab
>>> g= Grab()
>>> g.go('http://россия.рф')
<grab.response.Response object at 0x7eff9abe6790>
>>> print g.doc.select('//title').text()
СЕРВЕР ОРГАНОВ ГОСУДАРСТВЕННОЙ ВЛАСТИ РОССИИ
Отредактировано lorien (Март 22, 2013 21:43:19)
Офлайн