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

Привет, коллеги из 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 бесплатно и убедитесь, что это лучший выбор для ваших задач! 🚀

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

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

@Vadimtrade13, пожалуйста, нажмите на кнопку ниже в течение указанного времени, иначе вы будете кикнуты. Спасибо! (60 сек)
При поддержке 1inch

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

Scrapy

почитай лучше про обсервабилитю эту, это будет более грамотный подход

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

Scrapy

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

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

Scrapy

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

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

Scrapy

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

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

Scrapy

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

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

Scrapy

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

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

Scrapy

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

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

Scrapy

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

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

Scrapy

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

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

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

Scrapy

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

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

Scrapy

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

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

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

Scrapy

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

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

Scrapy

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

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