MemoryError исключение при попытке прочитать большие данные файла веб-сайта - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь прочитать большие данные на сайте, но столкнулся с этим исключением из-за MemoryError

import requests
requests.urllib3.disable_warnings()
search_page = "http://www.yachtworld.co.uk/core/listing/cache/searchResults.jsp?ps=99999"
y = requests.get(search_page, timeout=999999, stream=True)
result = y.text

Я сталкиваюсь с MemoryError Исключение, когда я пытаюсь прочитать переменную result, которая является выводом страницы,

Есть ли в любом случае, чтобы прочитать все данные, не сталкиваясь с этим исключением,

Спасибо.

1 Ответ

0 голосов
/ 29 апреля 2018

Из того, что я знаю, не было никаких изменений в проблеме - это означает, что нет возможности, вы можете загрузить данные в виде кусков, как хорошо представлено здесь

В принятом ответе по предоставленной мной ссылке указан неплохой код для разбивки ответа:

def download_file(url):
    local_filename = url.split('/')[-1]
    # NOTE the stream=True parameter
    r = requests.get(url, stream=True)
    with open(local_filename, 'wb') as f:
        for chunk in r.iter_content(chunk_size=1024): 
            if chunk: # filter out keep-alive new chunks
                f.write(chunk)
                #f.flush() commented by recommendation from J.F.Sebastian
    return local_filename
...