Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
OpenAI сделала ChatGPT-5.6 Luna бесплатной
OpenAI делает ставку на доступность: ChatGPT-5.6 Luna стала бесплатной на сайте, а в Sol добавили ползунок глубины рассуждений для ускорения ответов. Для сложных запросов готовят кнопку Think. Пока это веб-эксклюзив, но вывод очевиден: OpenAI усиливает продукт и давит на конкурентов бесплатным доступом.
➡️ Читайте на сайте: https://aff.top/blog/openai-sdelala-chatgpt-5-6-luna-besplatnoi
🧠 Ещё больше инсайтов → в канале AFF.top
OpenAI делает ставку на доступность: ChatGPT-5.6 Luna стала бесплатной на сайте, а в Sol добавили ползунок глубины рассуждений для ускорения ответов. Для сложных запросов готовят кнопку Think. Пока это веб-эксклюзив, но вывод очевиден: OpenAI усиливает продукт и давит на конкурентов бесплатным доступом.
➡️ Читайте на сайте: https://aff.top/blog/openai-sdelala-chatgpt-5-6-luna-besplatnoi
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Metamask представил свою криптокошелёк для ИИ
MetaMask выпустил криптокошелёк для ИИ-агентов, который позволяет им самим проводить платежи, торговать фьючерсами и свопами, а также делать ставки без участия человека. Вывод простой: под «мёртвый интернет» уже строят рабочую инфраструктуру, а контроль остаётся только на опасных транзакциях и в ручном подтверждении.
➡️ Читайте на сайте: https://aff.top/blog/metamask-predstavil-svoiu-kriptokoshelek-dlia-ii
🧠 Ещё больше инсайтов → в канале AFF.top
MetaMask выпустил криптокошелёк для ИИ-агентов, который позволяет им самим проводить платежи, торговать фьючерсами и свопами, а также делать ставки без участия человека. Вывод простой: под «мёртвый интернет» уже строят рабочую инфраструктуру, а контроль остаётся только на опасных транзакциях и в ручном подтверждении.
➡️ Читайте на сайте: https://aff.top/blog/metamask-predstavil-svoiu-kriptokoshelek-dlia-ii
🧠 Ещё больше инсайтов → в канале AFF.top
Flask ломается не в роуте, а в том, как вы собираете приложение из мелочей
У Flask простая поверхность, и именно поэтому в нём легко нарастить хаос: один файл со всем, глобальные объекты, ручная регистрация всего подряд. Через пару месяцев проект начинает тормозить не по CPU, а по организации кода.
Если делать проект живучим, держите базу такой:
— app factory вместо единого app.py;
— конфиг отдельно от логики, через объект или модуль;
— blueprints для границ доменов, а не ради красоты;
— расширения и БД инициализируйте в одном месте, а не в импортах;
— фоновые задачи и интеграции выносите из request cycle.
Самая частая ошибка — смешать представление, бизнес-логику и доступ к данным в одном обработчике. Тогда тесты становятся болезненными, а любое изменение тянет цепочку побочных эффектов. В Flask это особенно заметно, потому что фреймворк не навязывает архитектуру и легко позволяет “сделать быстро” в ущерб поддерживаемости.
Если проект уже вырос, не переписывайте всё сразу: сначала вынесите конфиг, потом фабрику приложения, затем разрежьте маршруты по модулям. В таком порядке Flask перестаёт быть набором файлов и становится приложением, которое можно сопровождать без боли.
У Flask простая поверхность, и именно поэтому в нём легко нарастить хаос: один файл со всем, глобальные объекты, ручная регистрация всего подряд. Через пару месяцев проект начинает тормозить не по CPU, а по организации кода.
Если делать проект живучим, держите базу такой:
— app factory вместо единого app.py;
— конфиг отдельно от логики, через объект или модуль;
— blueprints для границ доменов, а не ради красоты;
— расширения и БД инициализируйте в одном месте, а не в импортах;
— фоновые задачи и интеграции выносите из request cycle.
Самая частая ошибка — смешать представление, бизнес-логику и доступ к данным в одном обработчике. Тогда тесты становятся болезненными, а любое изменение тянет цепочку побочных эффектов. В Flask это особенно заметно, потому что фреймворк не навязывает архитектуру и легко позволяет “сделать быстро” в ущерб поддерживаемости.
Если проект уже вырос, не переписывайте всё сразу: сначала вынесите конфиг, потом фабрику приложения, затем разрежьте маршруты по модулям. В таком порядке Flask перестаёт быть набором файлов и становится приложением, которое можно сопровождать без боли.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Media is too big
VIEW IN TELEGRAM
Коллеги, я перезжаю в этот канал - 1 000 000 подписчиков у Иванова! Все строго про арбитраж трафика!
Переезжает сюда - https://t.me/+vKOoe6K4yL0wMzEy
P.S. Популярно тот в ком люди видят своего - мне очень повезло что я такая посредственность!
____
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Дима Лето - TikTok Ads mVas (Dzmitry Leto (Сб-Вс off day ))
Я короче хз зачем мне это , но напишу!
Короче смотрим за "ноунейом" ( ЕЮ ) и тот вообще крышей поехал) взял себе крутанул канал на 1млн подписчиков и хочет сделать его своим основным?
Армия ботов в перед!
Вот его новый канал если что.. https://t.me/+vKOoe6K4yL0wMzEy
Короче смотрим за "ноунейом" ( ЕЮ ) и тот вообще крышей поехал) взял себе крутанул канал на 1млн подписчиков и хочет сделать его своим основным?
Армия ботов в перед!
Вот его новый канал если что.. https://t.me/+vKOoe6K4yL0wMzEy
Forwarded from Петя 2.0! Bundle Mafia
Жирный кукухой поплыл, купил канал почти на лллллям двести подписчиков. Амбассадоры не работают?
Или как теперь PR оценивать? Одна полуголая курдюком трясёт, второй — то трезвый, то бухой, с биполяркой.
Люди, очнитесь.
_________________
Канал | Блог | YouTube | Мультитул 2.0 | ПОЛИГON by Петя 2.0
Или как теперь PR оценивать? Одна полуголая курдюком трясёт, второй — то трезвый, то бухой, с биполяркой.
Люди, очнитесь.
_________________
Канал | Блог | YouTube | Мультитул 2.0 | ПОЛИГON by Петя 2.0
👎 @pacan с пьяну подпись под каждым постом купил, а текст дал такй:
ХОЧЕТСЯ И РЫБКУ СЪЕСТЬ, И..🎣 Залить Fishing Time на TopX!
FTD идёт по 3$, плюс ребята РАЗДАЮТ 1,000,000$ среди баеров! Инфа ТУТ!
Please open Telegram to view this post
VIEW IN TELEGRAM
Flask ломается не на роутинге, а на границе между приложением и скриптом
У Flask простая поверхность, и из-за этого его часто превращают в «файл с импортами». Потом начинается боль: конфиг читается не там, зависимости живут в глобалях, а тесты падают от случайного состояния. Если проект растёт, это почти всегда вопрос не фреймворка, а структуры.
Держите три правила:
— создавайте приложение через фабрику, а не в модуле с роутами;
— выносите настройки в отдельный объект, без прямого чтения env в бизнес-логике;
— не тяните db/session/client в глобальную область, если их можно передать явно.
Для маленького сервиса Flask удобен именно тем, что в нём легко держать границу между HTTP-слоем и кодом домена. Маршрут должен принимать данные, вызывать функцию и отдавать ответ. Всё, что похоже на вычисления, парсинг, интеграции и очереди, лучше вынести в отдельные модули — тогда код можно переиспользовать и в CLI, и в воркере.
Если нужен долгоживущий Flask-проект, проверяйте не «как быстро поднялся сервер», а насколько легко заменить хранилище, подменить клиент внешнего API и прогнать тесты без веб-стека. Если это делается без магии, проект будет жить спокойно.
У Flask простая поверхность, и из-за этого его часто превращают в «файл с импортами». Потом начинается боль: конфиг читается не там, зависимости живут в глобалях, а тесты падают от случайного состояния. Если проект растёт, это почти всегда вопрос не фреймворка, а структуры.
Держите три правила:
— создавайте приложение через фабрику, а не в модуле с роутами;
— выносите настройки в отдельный объект, без прямого чтения env в бизнес-логике;
— не тяните db/session/client в глобальную область, если их можно передать явно.
Для маленького сервиса Flask удобен именно тем, что в нём легко держать границу между HTTP-слоем и кодом домена. Маршрут должен принимать данные, вызывать функцию и отдавать ответ. Всё, что похоже на вычисления, парсинг, интеграции и очереди, лучше вынести в отдельные модули — тогда код можно переиспользовать и в CLI, и в воркере.
Если нужен долгоживущий Flask-проект, проверяйте не «как быстро поднялся сервер», а насколько легко заменить хранилище, подменить клиент внешнего API и прогнать тесты без веб-стека. Если это делается без магии, проект будет жить спокойно.
Forwarded from Иванов и арбитраж трафика
МАКСИМАЛЬНО ОБЕСКУРАЖЕН, УДРУЧЁН И, НЕ ПОБОЮСЬ ЭТОГО СЛОВА, ОТОРОПЕЛ ОТ ПРОИСХОДЯЩЕГО В «ПИАР»-МИРЕ НАШЕЙ СФЕРЫ.
Я пребываю в некотором нравственном недоумении от той удивительной метаморфозы, которую в последнее время претерпевает понятие «пиар». То, что раньше считалось дурновкусием, беспринципностью и откровенным свинством, теперь, видимо, принято именовать нестандартной маркетинговой стратегией.
Если вам в какой-то момент показалось, что нормально делать то, что было сделано и продолжает делаться, я всё-таки позволю себе озвучить свою позицию: это неприемлемо. Во-первых.
А во-вторых, вы вообще понимаете, куда мы идём?
Сначала люди хотят выйти на РУ и СНГ рынок. Понимают, что нормальный путь - это долго, дорого, кропотливо и без каких-либо гарантий результата. И вместо этого выбирают дорожку дешёвого хайпа, совершенно не сообразуясь с тем, что именно они делают с конкретным человеком.
Потом, видимо, решают, что достигнутой степени публичного резонанса недостаточно, и предпринимают следующий, ещё более одиозный шаг - просто кидают его. Чтобы обсуждали ещё больше.
И я почти уверен, что они прекрасно понимали: это увижу и я. И что как человек, который способен сопереживать подобным людям, в том числе потому, что сам являюсь инвалидом детства второй группы, я мимо этого не пройду.
В итоге для них это один кидок и море хайпа. Но какой ценой? Стоило ли это того?
Не думаю.
Рынок взрослеет. Подобную хуйню, может быть, ещё и не предают публичной анафеме, но уже отлично запоминают. А потом при любой совместной работе держат в уме простую характеристику контрагента: «А, это те ребята. Им похуй».
Репутация вообще штука крайне занятная. Создаётся годами, а профукивается иногда одним весьма опрометчивым маркетинговым решением.
И дабы на этом, пусть кому-то он покажется не очень далёким, возможно, не самым интеллектуально одарённым, но совершенно точно бравом и стремящемся к успеху молодом человеке впредь не было набито брендов, способных породить столь прискорбные ассоциации, я беру на себя полномочия и ответственность отныне быть тем самым AFFPAPA.
Если конкретнее - быть AffPapa.org.
Этот смелый и совершенно точно стремящийся к успеху молодой человек может впредь без малейшего смущения носить на себе бренд AffPapa.
Я приложу все доступные мне усилия, чтобы единственной устойчивой ассоциацией с AffPapa со временем стал именно AffPapa.org.
Полагаю, это будет наиболее изящным разрешением сложившейся нравственно-маркетинговой коллизии.
С уважением, Иванов Е.Ю!
Я пребываю в некотором нравственном недоумении от той удивительной метаморфозы, которую в последнее время претерпевает понятие «пиар». То, что раньше считалось дурновкусием, беспринципностью и откровенным свинством, теперь, видимо, принято именовать нестандартной маркетинговой стратегией.
Если вам в какой-то момент показалось, что нормально делать то, что было сделано и продолжает делаться, я всё-таки позволю себе озвучить свою позицию: это неприемлемо. Во-первых.
А во-вторых, вы вообще понимаете, куда мы идём?
Сначала люди хотят выйти на РУ и СНГ рынок. Понимают, что нормальный путь - это долго, дорого, кропотливо и без каких-либо гарантий результата. И вместо этого выбирают дорожку дешёвого хайпа, совершенно не сообразуясь с тем, что именно они делают с конкретным человеком.
Потом, видимо, решают, что достигнутой степени публичного резонанса недостаточно, и предпринимают следующий, ещё более одиозный шаг - просто кидают его. Чтобы обсуждали ещё больше.
И я почти уверен, что они прекрасно понимали: это увижу и я. И что как человек, который способен сопереживать подобным людям, в том числе потому, что сам являюсь инвалидом детства второй группы, я мимо этого не пройду.
В итоге для них это один кидок и море хайпа. Но какой ценой? Стоило ли это того?
Не думаю.
Рынок взрослеет. Подобную хуйню, может быть, ещё и не предают публичной анафеме, но уже отлично запоминают. А потом при любой совместной работе держат в уме простую характеристику контрагента: «А, это те ребята. Им похуй».
Репутация вообще штука крайне занятная. Создаётся годами, а профукивается иногда одним весьма опрометчивым маркетинговым решением.
И дабы на этом, пусть кому-то он покажется не очень далёким, возможно, не самым интеллектуально одарённым, но совершенно точно бравом и стремящемся к успеху молодом человеке впредь не было набито брендов, способных породить столь прискорбные ассоциации, я беру на себя полномочия и ответственность отныне быть тем самым AFFPAPA.
Если конкретнее - быть AffPapa.org.
Этот смелый и совершенно точно стремящийся к успеху молодой человек может впредь без малейшего смущения носить на себе бренд AffPapa.
Я приложу все доступные мне усилия, чтобы единственной устойчивой ассоциацией с AffPapa со временем стал именно AffPapa.org.
Полагаю, это будет наиболее изящным разрешением сложившейся нравственно-маркетинговой коллизии.
Обсудить все это можно в моем чате - будьте аккуратны, там не всем рады, точней никому не рады, от чего он и великолепен
С уважением, Иванов Е.Ю!
Pydantic ломают не типы, а границы входных данных
Если модель валится в рантайме, проблема обычно не в самой схеме, а в том, что в неё тащат всё подряд: raw JSON, формы, query params и внутренние dict без разделения слоёв. Для веба полезно держать три уровня: входной payload, нормализованную доменную модель и объект для ответа.
Проверьте три вещи:
— обязательные поля с дефолтами не должны маскировать пустой ввод;
— alias и naming лучше фиксировать на границе API, а не размазывать по коду;
— валидаторы нужны для нормализации, а не для бизнес-логики.
Отдельная ловушка — nested структуры. Если список объектов может быть частично грязным, ошибка в одном элементе не должна скрывать остальные. Лучше явно собирать ошибки и отдавать их в одном ответе, чем чинить данные молча.
Ещё одна полезная привычка: не использовать одну и ту же модель для create, update и response. Это почти всегда приводит к лишним optional-полям, странным default и утечке внутренних атрибутов в API.
Если держать Pydantic только на границе системы, код становится проще: меньше магии в сервисах, меньше сюрпризов в тестах, быстрее понять, где именно сломался контракт.
Если модель валится в рантайме, проблема обычно не в самой схеме, а в том, что в неё тащат всё подряд: raw JSON, формы, query params и внутренние dict без разделения слоёв. Для веба полезно держать три уровня: входной payload, нормализованную доменную модель и объект для ответа.
Проверьте три вещи:
— обязательные поля с дефолтами не должны маскировать пустой ввод;
— alias и naming лучше фиксировать на границе API, а не размазывать по коду;
— валидаторы нужны для нормализации, а не для бизнес-логики.
Отдельная ловушка — nested структуры. Если список объектов может быть частично грязным, ошибка в одном элементе не должна скрывать остальные. Лучше явно собирать ошибки и отдавать их в одном ответе, чем чинить данные молча.
Ещё одна полезная привычка: не использовать одну и ту же модель для create, update и response. Это почти всегда приводит к лишним optional-полям, странным default и утечке внутренних атрибутов в API.
Если держать Pydantic только на границе системы, код становится проще: меньше магии в сервисах, меньше сюрпризов в тестах, быстрее понять, где именно сломался контракт.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Дорогие партнёры!
С августа и по 31 сентября в BETERA PARTNERS запускаем конкурс для всех партнёров.
Всё просто: чем больше квалифицированных FTD, тем выше ваше место в рейтинге.
🏆 Что можно забрать?
• Apple MacBook Air 15
• Apple iPad 11
• Apple Watch Series 11
• и другие призы для наших любимых партнёров❤️
Как участвовать?
⚡️ Быть или стать партнёром BETERA PARTNERS
⚡️ Подтвердить желание участвовать
⚡️ Приводить квалифицированные FTD в период с 05.08 по 31.09.2026
Пока другие думают — можно уже лить, зарабатывать и забирать свой подарок 😉
Почему партнёры выбирают BETERA PARTNERS:
⭐️ CPA / RevShare / Hybrid / Spend
⭐️ CPA от $150 — как на Tier-1 😉
⭐️ Собственный продукт с локальной лицензией
⭐️ Без KPI
⭐️ Прозрачные условия и быстрые выплаты
Следите за новостями в нашем Telegram-канале, а если нужна помощь с запуском или есть вопросы, залетайте в наш support и пишите нашим менеджерам, всё подскажем!
Betera Partners // Support🔥
@TLBetera
@KattiBetera
@DaniilTrafficBetera
С августа и по 31 сентября в BETERA PARTNERS запускаем конкурс для всех партнёров.
Всё просто: чем больше квалифицированных FTD, тем выше ваше место в рейтинге.
• Apple MacBook Air 15
• Apple iPad 11
• Apple Watch Series 11
• и другие призы для наших любимых партнёров
Как участвовать?
Пока другие думают — можно уже лить, зарабатывать и забирать свой подарок 😉
Почему партнёры выбирают BETERA PARTNERS:
Следите за новостями в нашем Telegram-канале, а если нужна помощь с запуском или есть вопросы, залетайте в наш support и пишите нашим менеджерам, всё подскажем!
Betera Partners // Support
@TLBetera
@KattiBetera
@DaniilTrafficBetera
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Я ненавижу арбитраж
Что за помойка?
Спросите вы, и будете правы.
Новое пространство успешных бизнесменов открылось пару дней назад. Канал сразу захватил арбитражный интернет. Миллион (!) активных и заряженных предпринимателей атаковали его подписками.
Создатель — самый успешный из них. Человек-розыгрыш, человек-споирт, человек-холст, человек-деньги — Евгений Иванов.
Ни одного бота не замечено. Лям. Все из сферы. Сам Дуров не обладает такой базой платежеспособной аудитории.
Немного о том, что обсуждается на канале:
— ахуенность админа (пост написан самим админом)
— ничтожность Affpapa
— техники минета в виде аффирмации
Учитывая предпочтения ЕЮ, можно спрогнозировать рубрики: сиськи (самого админа), кейсы (как правило, негативные), вайбкодинг и, конечно, новости с передовой арбитража.
🤡 —🤲 подписался
👍 — и скоко тебе заплатили, продажная ты придорожная путана?
Я ненавижу арбитраж |Чат😠
Спросите вы, и будете правы.
Новое пространство успешных бизнесменов открылось пару дней назад. Канал сразу захватил арбитражный интернет. Миллион (!) активных и заряженных предпринимателей атаковали его подписками.
Создатель — самый успешный из них. Человек-розыгрыш, человек-сп
Ни одного бота не замечено. Лям. Все из сферы. Сам Дуров не обладает такой базой платежеспособной аудитории.
Немного о том, что обсуждается на канале:
— ахуенность админа (пост написан самим админом)
— ничтожность Affpapa
— техники минета в виде аффирмации
Учитывая предпочтения ЕЮ, можно спрогнозировать рубрики: сиськи (самого админа), кейсы (как правило, негативные), вайбкодинг и, конечно, новости с передовой арбитража.
🤡 —
👍 — и скоко тебе заплатили, продажная ты придорожная путана?
Я ненавижу арбитраж |Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
asyncio ломается не в await, а в границах между I/O, CPU и cancellation
Если в проекте «всё асинхронно», это ещё не значит, что оно масштабируется. В реальности чаще всего путают три вещи: параллельность, конкурентность и неблокирующий I/O. asyncio хорошо работает там, где задачи ждут сеть, диск или таймеры. Как только в корутину попадает тяжёлая CPU-работа, event loop начинает задыхаться.
Есть 4 типовые ошибки:
— забыли вынести CPU-bound кусок в thread/process pool;
— сделали много await подряд там, где нужен gather();
— не закрыли клиент/сессию/соединение и получили утечки;
— игнорируют cancellation, а потом ловят «зависшие» фоновые задачи.
Отдельно проверьте точки входа. Если внутри корутины вызывается обычный блокирующий код — sleep, requests, синхронный ORM, файловые операции без ограничений — весь выигрыш от asyncio исчезает. Для внешних API, очередей и парсинга это особенно заметно: один блокирующий вызов может остановить десятки задач.
Хорошее правило: корутина должна либо ждать I/O, либо быстро делегировать тяжёлую работу наружу. Если это не так — перепишите участок, а не «добавляйте больше async».
Если в проекте «всё асинхронно», это ещё не значит, что оно масштабируется. В реальности чаще всего путают три вещи: параллельность, конкурентность и неблокирующий I/O. asyncio хорошо работает там, где задачи ждут сеть, диск или таймеры. Как только в корутину попадает тяжёлая CPU-работа, event loop начинает задыхаться.
Есть 4 типовые ошибки:
— забыли вынести CPU-bound кусок в thread/process pool;
— сделали много await подряд там, где нужен gather();
— не закрыли клиент/сессию/соединение и получили утечки;
— игнорируют cancellation, а потом ловят «зависшие» фоновые задачи.
Отдельно проверьте точки входа. Если внутри корутины вызывается обычный блокирующий код — sleep, requests, синхронный ORM, файловые операции без ограничений — весь выигрыш от asyncio исчезает. Для внешних API, очередей и парсинга это особенно заметно: один блокирующий вызов может остановить десятки задач.
Хорошее правило: корутина должна либо ждать I/O, либо быстро делегировать тяжёлую работу наружу. Если это не так — перепишите участок, а не «добавляйте больше async».
Flask ломается не на маршрутах, а на том, как вы смешиваете слои
У Flask есть полезная ловушка: проект легко стартует как один файл, а потом тихо превращается в комок view-функций, SQL и логики авторизации. Если через месяц в код страшно заходить, проблема обычно не в фреймворке, а в отсутствии границ.
Рабочая схема для живого проекта:
— routes держат только HTTP-слой: принять запрос, провалидировать, вернуть ответ;
— service содержит бизнес-логику и не знает про request;
— repository общается с БД или внешним API;
— extensions и config инициализируются отдельно, а не прячутся внутри view.
Еще одна типовая ошибка — хранить состояние в глобальных переменных и надеяться, что «в проде не заметят». Flask сам по себе не спасает от гонок, если вы пишете в модульные переменные, кэшируете «на глаз» или создаете клиент БД в каждом обработчике.
Если нужен проект, который не развалится от второго разработчика, начните с app factory, явной конфигурации и одного правила: view не должен делать больше, чем оркестровать вызовы. Тогда Flask остается быстрым в разработке и не превращается в склад технического долга.
У Flask есть полезная ловушка: проект легко стартует как один файл, а потом тихо превращается в комок view-функций, SQL и логики авторизации. Если через месяц в код страшно заходить, проблема обычно не в фреймворке, а в отсутствии границ.
Рабочая схема для живого проекта:
— routes держат только HTTP-слой: принять запрос, провалидировать, вернуть ответ;
— service содержит бизнес-логику и не знает про request;
— repository общается с БД или внешним API;
— extensions и config инициализируются отдельно, а не прячутся внутри view.
Еще одна типовая ошибка — хранить состояние в глобальных переменных и надеяться, что «в проде не заметят». Flask сам по себе не спасает от гонок, если вы пишете в модульные переменные, кэшируете «на глаз» или создаете клиент БД в каждом обработчике.
Если нужен проект, который не развалится от второго разработчика, начните с app factory, явной конфигурации и одного правила: view не должен делать больше, чем оркестровать вызовы. Тогда Flask остается быстрым в разработке и не превращается в склад технического долга.
Scrapy ломается не на парсинге, а на мелочах вокруг него: 6 проверок
Scrapy часто считают “просто фреймворком для пауков”, но в проде он падает на одинаковых вещах. За неделю в репах обычно всплывают одни и те же ошибки: не тот selector, дубли, кривой пайплайн, таймауты и слишком жирные ответы от сайта.
— Сначала проверь, что ты выбираешь именно стабильный узел, а не случайный div внутри карточки.
— Дальше смотри на дедупликацию: canonical, query-параметры, пагинация и одинаковые ссылки с разным мусором в URL.
— Если данные “исчезают”, ищи проблему в item pipeline, а не в spider: там часто тихо режутся пустые поля и неожиданные типы.
— Для тяжёлых страниц включай ограничение concurrency и нормальный retry/backoff, иначе ты сам создаёшь себе бан.
Есть наблюдение которое стоит проверить: если Spider работает только на одной странице, почти всегда дело в предположении, что HTML одинаковый. В Scrapy это лечится не магией, а явной проверкой структуры ответа и отдельной логикой на каждый шаблон страницы.
Ещё одна типовая ловушка — смешивать сбор и очистку. Spider должен добывать сырые поля, а нормализация, приведение типов и фильтры — жить отдельно. Тогда проще тестировать, проще дебажить и проще менять источник без переписывания всего проекта.
Если Scrapy “вроде работает”, но результат плавает, начни с трёх вещей: структура ответа, дедуп, pipeline. Это экономит больше времени, чем любой красивый рефакторинг.
Scrapy часто считают “просто фреймворком для пауков”, но в проде он падает на одинаковых вещах. За неделю в репах обычно всплывают одни и те же ошибки: не тот selector, дубли, кривой пайплайн, таймауты и слишком жирные ответы от сайта.
— Сначала проверь, что ты выбираешь именно стабильный узел, а не случайный div внутри карточки.
— Дальше смотри на дедупликацию: canonical, query-параметры, пагинация и одинаковые ссылки с разным мусором в URL.
— Если данные “исчезают”, ищи проблему в item pipeline, а не в spider: там часто тихо режутся пустые поля и неожиданные типы.
— Для тяжёлых страниц включай ограничение concurrency и нормальный retry/backoff, иначе ты сам создаёшь себе бан.
Есть наблюдение которое стоит проверить: если Spider работает только на одной странице, почти всегда дело в предположении, что HTML одинаковый. В Scrapy это лечится не магией, а явной проверкой структуры ответа и отдельной логикой на каждый шаблон страницы.
Ещё одна типовая ловушка — смешивать сбор и очистку. Spider должен добывать сырые поля, а нормализация, приведение типов и фильтры — жить отдельно. Тогда проще тестировать, проще дебажить и проще менять источник без переписывания всего проекта.
Если Scrapy “вроде работает”, но результат плавает, начни с трёх вещей: структура ответа, дедуп, pipeline. Это экономит больше времени, чем любой красивый рефакторинг.
Forwarded from Иванов и арбитраж трафика
This media is not supported in your browser
VIEW IN TELEGRAM
1. Выкатить ни какую он-лайн конфу я естесвенно не выкатил, потерпите
2. После прошлого видео (тык) мой канал теперь имеет юзер @PO_YICA_BRAL
3. Держите вечернее видео, я нажрусь и спать
Чото надо ещё сказать? Ну, можно лишь добавить Настя #MelBet верни деньги, не играй с огнём, со мной лучше не ссориться. Спасибо.
P.S. Бабка-то, похоже, не своей..... см. видео!
С уважением, Иванов Е.Ю!
2. После прошлого видео (тык) мой канал теперь имеет юзер @PO_YICA_BRAL
3. Держите вечернее видео, я нажрусь и спать
Чото надо ещё сказать? Ну, можно лишь добавить Настя #MelBet верни деньги, не играй с огнём, со мной лучше не ссориться. Спасибо.
P.S. Бабка-то, похоже, не своей..... см. видео!
С уважением, Иванов Е.Ю!