1045
Чат создан чтобы делиться опытом о Scrapy/Python и другими парсинг технологиями. Вежливость и уважение к другим участникам группы. Троллинг не приветствуется. FAQ: https://github.com/bulatbulat48/ru-scrapy-python Работа: t.me/scrapy_jobs
@Vadimtrade13, пожалуйста, нажмите на кнопку ниже в течение указанного времени, иначе вы будете кикнуты. Спасибо! (60 сек)
При поддержке 1inch
почитай лучше про обсервабилитю эту, это будет более грамотный подход
Читать полностью…
ну вобщем ты или подробней распиши, или как я пока понял ты хочешь просто отсылки файлика на ошибке - это немного странный подход (обычно сначала собирают логи, анализируют их туда-сюда, а потом уже врезаются в исправление, если оно вообще нужно), но ты можешь наверное тот же логгер и так настроить, что кроме стектрейса он тебе будет на определенный чих слать и json
Читать полностью…
тогда я не понимаю, в чем изначальный вопрос был, ты типа там SRE из себя изображаешь и хочешь превентировать ошибки или чего?
Читать полностью…
тогда будет меньше дергача - нашло оно чото (или клиент) и сигнализироварует тебе, а ты уже смотришь логи и понимаешь что что-то померло в датском селении
Читать полностью…
ну вдруг тебе там придет 500 гигабайт json'ов. Все это писать, проверять. Я бы шел от выходных данных, все ли поля выходные обязательные есть, адекватный ли размер выходных данных и айтемсов
Читать полностью…
Парсер работает больше года и каждый месяц появляется новая ошибка, дружок)
Читать полностью…
Говнокод в том, что dry не соблюдается.
Хз как мидлварь поможет, но гляну
Если заворачивание в try except кода где нужно обработать исключения это говнокод - то хотя бы сделайте мидлварь
Читать полностью…
у проекта есть потребности определенные, я ищу чем их закрывать.
Тут будто особо ничего кроме говнокода не остается
смотри, случаются при обработке ответов на запросы ошибки, потому что те данные, которые мне нужны, находятся не в А, а в Б (совсем разные пути). Иногда случается, что этих данных вовсе нету: я хочу все эти случаи обрабатывать. Для этого нужно менять код. Так как воспроизвести ошибку временами не представляется возможным, я хочу присылать файлы, где случилась ошибка, на дискорд сервер. Теоретически можно было бы их и сохранять себе - это не важно. Суть в том, чтобы перехватить ошибку
Читать полностью…
Привет, коллеги из Scrapy! 👋
Рады представить вам Mango Proxy — резидентские прокси, которые идеально подходят для сложных задач парсинга, автоматизации, фарминга и других data-driven проектов.
Почему именно Mango Proxy?
🔹 Собственная инфраструктура
40+ серверов по всему миру обеспечивают минимальный пинг, стабильность и возможность гибкой настройки.
🔹 Белые IP с низким Score
Предоставляем эксклюзивные пулы ISP с гарантией Score 0–20 для повышения доверия и эффективности ваших запросов.
🔹 Глобальный охват
Доступ к более чем 90 миллионам IP-адресов, покрывающим практически все страны мира.
🔹 Гибкость и управление
Индивидуальная настройка пулов, поддержка UDP протокола, неограниченные сессии и удобная статистика для контроля ваших прокси.
🔹 Трафик без срока хранения
Ваш баланс никогда не сгорит — используйте трафик в любое удобное время.
🔹 Доступная стоимость
Тарифы начинаются от 0.64$ за ГБ, и мы готовы предложить индивидуальные условия для крупных проектов.
🎁 Подарок для участников Scrapy!
Всем желающим участникам этого чата мы дарим 1 ГБ для тестирования!
📩 Пишите мне в ЛС за подробностями - @mangoproxy_bdm
Попробуйте Mango Proxy бесплатно и убедитесь, что это лучший выбор для ваших задач! 🚀
(но если ты это реализуешь, это будет прям говнокод аля натурэль)
Читать полностью…
Конечно не выведется, поэтому предложенные варианты решения мне и показались странными, ведь ни итемов, ни реквестов они не вернут
Читать полностью…
тогда кури https://www.plutora.com/blog/observability-pillar-site-reliability-engineering до посинения
Читать полностью…
Ну так если у меня где-то сдохнет скрапер, то оно пойдет в эррор и итем скорее всего вообще не выведется
Читать полностью…
Я знаю, что не придёт, а даже если придёт, то дискорд попросту не примет файл такой величины
Читать полностью…
Ну у меня и так логгируется то, что где-то что-то не нашлось, но меня больше интересует как можно было избежать ошибки, а не то, что поле не нашлось. Поэтому нужно скидывать весь джейсон.
Почему нет?
по хорошему такие штуки отлавливать любой системой анализа логов, плюс странно ты как-то парсер пишешь, ты его от балды чтоли пишешь, не поглядывая первые запуски на ошибки? Но в целом, цельный 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)
мне желательно, чтобы оно само работало, а я только деньги за прокси платил и отдыхал на мальдивах
Читать полностью…
ок, тогда в трай/эксцепт весь метод, так точно ничего не поломается :)
Читать полностью…