scrapy_python | Unsorted

Telegram-канал scrapy_python - Scrapy

1045

Чат создан чтобы делиться опытом о Scrapy/Python и другими парсинг технологиями. Вежливость и уважение к другим участникам группы. Троллинг не приветствуется. FAQ: https://github.com/bulatbulat48/ru-scrapy-python Работа: t.me/scrapy_jobs

Subscribe to a channel

Scrapy

(но если ты это реализуешь, это будет прям говнокод аля натурэль)

Читать полностью…

Scrapy

Конечно не выведется, поэтому предложенные варианты решения мне и показались странными, ведь ни итемов, ни реквестов они не вернут

Читать полностью…

Scrapy

тогда кури https://www.plutora.com/blog/observability-pillar-site-reliability-engineering до посинения

Читать полностью…

Scrapy

Ну так если у меня где-то сдохнет скрапер, то оно пойдет в эррор и итем скорее всего вообще не выведется

Читать полностью…

Scrapy

Не понимаю что такое выходные поля

Читать полностью…

Scrapy

Я знаю, что не придёт, а даже если придёт, то дискорд попросту не примет файл такой величины

Читать полностью…

Scrapy

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

Почему нет?

Читать полностью…

Scrapy

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

ЗЫ про то, что ты задолбешься писать геттеры для своих вложенных полей, есть же либы где ты 1 разик слово get пишешь, туда же ты можешь присобачить и логгинг, я бы правда цельный файл JSON'а в дискорд бы не слал. Пример:
(бозенька, храни чатжопоте, за то, что он генерит примеры за полсекунды):

import logging
import pydash

logging.basicConfig(level=logging.WARNING)


def safe_get(obj, path, default=None):
value = pydash.get(obj, path, default)
if value == default:
logging.warning(f"Missing path in JSON: {path}")
return value


data = {"parent_field": {"child_field": "value"}}
child = safe_get(data, "parent_field.child_field")
print(child)
missing = safe_get(data, "nonexistent_field.child_field")
print(missing)

Читать полностью…

Scrapy

С того, что Михаил рассмеялся)

Читать полностью…

Scrapy

мне желательно, чтобы оно само работало, а я только деньги за прокси платил и отдыхал на мальдивах

Читать полностью…

Scrapy

не, скрапи наверно не дружит с декораторами

Читать полностью…

Scrapy

тогда не придётся говнокодить

Читать полностью…

Scrapy

ок, тогда в трай/эксцепт весь метод, так точно ничего не поломается :)

Читать полностью…

Scrapy

Используйте try except

Читать полностью…

Scrapy

я задолблюсь в каждом месте геты писать, потому что там очень много путей....

Читать полностью…

Scrapy

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

Читать полностью…

Scrapy

и думай, как этого добиться

Читать полностью…

Scrapy

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

Читать полностью…

Scrapy

ну условные имя, артику, цена, картинка

Читать полностью…

Scrapy

тогда будет меньше дергача - нашло оно чото (или клиент) и сигнализироварует тебе, а ты уже смотришь логи и понимаешь что что-то померло в датском селении

Читать полностью…

Scrapy

ну вдруг тебе там придет 500 гигабайт json'ов. Все это писать, проверять. Я бы шел от выходных данных, все ли поля выходные обязательные есть, адекватный ли размер выходных данных и айтемсов

Читать полностью…

Scrapy

Парсер работает больше года и каждый месяц появляется новая ошибка, дружок)

Читать полностью…

Scrapy

Говнокод в том, что dry не соблюдается.

Хз как мидлварь поможет, но гляну

Читать полностью…

Scrapy

Если заворачивание в try except кода где нужно обработать исключения это говнокод - то хотя бы сделайте мидлварь

Читать полностью…

Scrapy

у проекта есть потребности определенные, я ищу чем их закрывать.

Тут будто особо ничего кроме говнокода не остается

Читать полностью…

Scrapy

🤣, сцук... я щас аж всхрюкнул...

Читать полностью…

Scrapy

о, кстати, а можно по идее это в декораторе сделать

Читать полностью…

Scrapy

Он буквально для этого

Читать полностью…

Scrapy

хотя если так подумать, то можно словарик кастомный написать 🤔

Читать полностью…

Scrapy

json_data.get("какой там ключь пытаешься забрать")

Читать полностью…
Subscribe to a channel