Поток большие двоичные файлы с urllib2 в файл

Google для LS_COLORS для некоторых полезных ссылок.

Редактирование: Для списка цветов этот простой сценарий удара может дать общее представление:

IFS=:
set $LS_COLORS
for C in $*
do
    IFS='='
    set $C
    echo -e "\033[$2m$1\033[00m"
done
53
задан Peter Mortensen 31 August 2010 в 12:44
поделиться

2 ответа

Нет причин для работайте построчно (небольшие фрагменты И требует, чтобы Python нашел для вас концы строки! -), просто разбейте его на более крупные фрагменты, например:

# from urllib2 import urlopen # Python 2
from urllib.request import urlopen # Python 3

response = urlopen(url)
CHUNK = 16 * 1024
with open(file, 'wb') as f:
    while True:
        chunk = response.read(CHUNK)
        if not chunk:
            break
        f.write(chunk)

Поэкспериментируйте немного с различными размерами фрагментов, чтобы найти "золотую середину"

105
ответ дан 7 November 2019 в 08:17
поделиться

Я использовал модуль Mechanize и его метод Browser.retrieve (). Раньше требовалось 100% ЦП, и загрузка происходила очень медленно, но в некоторых недавних выпусках эта ошибка была исправлена, и она работает очень быстро.

Пример:

import mechanize
browser = mechanize.Browser()
browser.retrieve('http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.32-rc1.tar.bz2', 'Downloads/my-new-kernel.tar.bz2')

Механизация основана на urllib2, поэтому urllib2 также может иметь аналогичный метод ... но сейчас не могу найти.

6
ответ дан 7 November 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: