Duff89 / parser_avito

Находит товары на avito.ru по ключевым словам
139 stars 47 forks source link

Ошибка "FileNotFoundError: [Errno 2] No such file or directory: 'viewed.txt'" #3

Closed fmfnjnf closed 1 year ago

fmfnjnf commented 1 year ago

Запустил скрипт. Работал 2 часа и начал выводить ошибку FileNotFoundError: [Errno 2] No such file or directory: 'viewed.txt'. В самой папке существует этот файл 'viewed.txt'. Более подробная ошибка: An error has been caught in function '__paginator', process 'MainProcess' (17405), thread 'MainThread' (140189986992128): Traceback (most recent call last):

File "/root/parser_avito-master/parser_avito-master/parser_cls.py", line 193, in ).parse()

File "/root/parser_avito-master/parser_avito-master/parser_cls.py", line 156, in parse self.paginator() -> <main__.AvitoParse object at 0x7f8084d2fe20>

File "/root/parser_avito-master/parser_avito-master/parser_cls.py", line 74, in paginator self.parse_page() -> <main.AvitoParse object at 0x7f8084d2fe20>

File "/root/parser_avito-master/parser_avito-master/parser_cls.py", line 87, in __parse_page with open('viewed.txt', 'r') as file:

FileNotFoundError: [Errno 2] No such file or directory: 'viewed.txt'

Duff89 commented 1 year ago

Ошибка понятная, нет файла 'viewed.txt', что очень странно. Как временный фикс (до выхода новой версии) замените блок кода (строка 87):

        with open('viewed.txt', 'r') as file:
            self.viewed_list = list(map(str.rstrip, file.readlines()))
            """Ограничение количества просмотренных объявлений"""
            if len(self.viewed_list) > 2000:
                self.viewed_list = self.viewed_list[-900:]

Заменить на это:

"""Ограничение количества просмотренных объявлений"""
        if os.path.isfile('viewed.txt'):
            with open('viewed.txt', 'r') as file:
                self.viewed_list = list(map(str.rstrip, file.readlines()))
                if len(self.viewed_list) > 2000:
                    self.viewed_list = self.viewed_list[-900:]
        else:
            with open('viewed.txt', 'w') as file:
                self.viewed_list = []
Duff89 commented 1 year ago

Ошибка исправлена в версии 1.02