4. - Serggi0/python-project-lvl3 GitHub Wiki
Валентин Хомутенко 22 сент., 11:54
https://github.com/Serggi0/python-project-lvl3/blob/1899e8995c8588e1a532288d0f3c4a0f33788ef2/page_loader/page_loader.py#L7 В проекте два раза делается вызов get_soup, давай сделаем один вызов и переиспользуем результат.
https://github.com/Serggi0/python-project-lvl3/blob/1899e8995c8588e1a532288d0f3c4a0f33788ef2/page_loader/normalize_data.py#L76 Посмотри внимательно пожалуйста по всему проекту, все ли ошибки ловятся в try/except. Например, здесь могут возникнуть еще разные другие исключения, наследованные от OSError. Если не нужно обрабатывать каждую ошибку отдельно — можно обрабатывать просто OSError.
https://github.com/Serggi0/python-project-lvl3/blob/c5abf0e21c1ff8e9123eade5158c36cfded61dec/tests/test_.py#L84 Лучше сделать отдельные типы исключений и проверять их, чем кодировать вид ошибки в тексте сообщения. Текст сообщения максимально полезным для пользователя.
https://github.com/Serggi0/python-project-lvl3/blob/1899e8995c8588e1a532288d0f3c4a0f33788ef2/page_loader/web_data_processing.py#L81 Давай сделаем действительно полезный progressbar, для этого нужно будет поработать над основной функцией парсинга страницы и ресурсов. Попробуй разделить работу с soup и работу с файловой системой и сетью.
https://github.com/Serggi0/python-project-lvl3/blob/1899e8995c8588e1a532288d0f3c4a0f33788ef2/page_loader/normalize_data.py#L29 Посмотри внимательно на все функции в этом модуле — можно ли использовать где-то встроенный urljoin, чтобы упростить код?
https://github.com/Serggi0/python-project-lvl3/blob/1899e8995c8588e1a532288d0f3c4a0f33788ef2/page_loader/web_data_processing.py#L44 Тут не может быть None в reponse
https://github.com/Serggi0/python-project-lvl3/blob/1899e8995c8588e1a532288d0f3c4a0f33788ef2/page_loader/web_data_processing.py#L97 просто if not url_tag else не нужен, если там continue
https://github.com/Serggi0/python-project-lvl3/blob/1899e8995c8588e1a532288d0f3c4a0f33788ef2/page_loader/web_data_processing.py#L71 return url_netloc == domain_name