Привет! В первой заметке (с последующей детализацией) мы поговорим про важное — про парсинг, а если по простому — про хождение по чужим сайтам и сбор данных с них. Парсить чужое нехорошо, но этим занимаются все.
📲 Спарсить можно все, вот вообще все, до чего у вас есть доступ. Если контент за авторизацией — это очень сильно срезает возможности, но если вы впринципе что-то видите на экране ноута или в приложении на телефоне — это всегда можно стащить автоматически. Будь то ютуб, телеграм или любой другой сервис. А вот насколько это будет быстро, легко и удобно — это уже вопрос.
Глобально сложность парсинга можно разбить на три+ группы:
— добро пожаловать
— мы вам не рады
— мы вас ненавидим
— отдельная номинация: стриминговые сервисы
🤗 «Добро пожаловать» — это большая часть интернета, то есть когда дополнительно для антипарсинга ничего не делалось. Весь контент структурировано упакован, никаких блокировщиков или рейт-лимитеров на «принимающей стороне» нет, заходи, располагайся, тащи что угодно. Такое парсить — кайф.
😡 «Мы вам не рады» — случай посложнее, когда на источнике уже обнаружили, что их парсят и стараются это ограничить. Защита может варьироваться и, как правило, представляет собой фильтрацию внешнего потока: пытаются поймать совсем анонимные сессии, ставят куку и делают трекинг по ней, всякие фингерпринты и вот это все. Это не очень приятно, но все еще достаточно легко обходится.
👹 «Мы вас ненавидим» — это уже серьезный соперник. Эти ребята уже точно знают, что их часто парсят и не просто стараются вас ограничить, а хотят вас переиграть и уничтожить. Здесь помимо фильтрации на вход (и сильно более хитрой выдачи данных) есть подмена контента, частичная обфускация и парсинг такого может превратиться в ад. То есть, проверка входа — тоже есть, но когда вы это все обошли вам начинают подсовывать не тот контент, который должен быть. Например, вы хотите узнавать цену продукта, а вам начинают кидать ее абсолютно случайную каждый раз. Если это не поймать и забирать все как есть, то потом может быть очень больно.
🎥 Про стриминг своя специфика: медиа-контент отдается порционно через специальные протоколы и часто с DRM-шифрованием, плюс каждый сегмент может требовать отдельной авторизации. Такой контент целиком можно получить только «прослушав» его фактически в реальном времени, что занимает много времени и генерит много детектируемого трафика.
📲 Спарсить можно все, вот вообще все, до чего у вас есть доступ. Если контент за авторизацией — это очень сильно срезает возможности, но если вы впринципе что-то видите на экране ноута или в приложении на телефоне — это всегда можно стащить автоматически. Будь то ютуб, телеграм или любой другой сервис. А вот насколько это будет быстро, легко и удобно — это уже вопрос.
Глобально сложность парсинга можно разбить на три+ группы:
— добро пожаловать
— мы вам не рады
— мы вас ненавидим
— отдельная номинация: стриминговые сервисы
🤗 «Добро пожаловать» — это большая часть интернета, то есть когда дополнительно для антипарсинга ничего не делалось. Весь контент структурировано упакован, никаких блокировщиков или рейт-лимитеров на «принимающей стороне» нет, заходи, располагайся, тащи что угодно. Такое парсить — кайф.
😡 «Мы вам не рады» — случай посложнее, когда на источнике уже обнаружили, что их парсят и стараются это ограничить. Защита может варьироваться и, как правило, представляет собой фильтрацию внешнего потока: пытаются поймать совсем анонимные сессии, ставят куку и делают трекинг по ней, всякие фингерпринты и вот это все. Это не очень приятно, но все еще достаточно легко обходится.
👹 «Мы вас ненавидим» — это уже серьезный соперник. Эти ребята уже точно знают, что их часто парсят и не просто стараются вас ограничить, а хотят вас переиграть и уничтожить. Здесь помимо фильтрации на вход (и сильно более хитрой выдачи данных) есть подмена контента, частичная обфускация и парсинг такого может превратиться в ад. То есть, проверка входа — тоже есть, но когда вы это все обошли вам начинают подсовывать не тот контент, который должен быть. Например, вы хотите узнавать цену продукта, а вам начинают кидать ее абсолютно случайную каждый раз. Если это не поймать и забирать все как есть, то потом может быть очень больно.
🎥 Про стриминг своя специфика: медиа-контент отдается порционно через специальные протоколы и часто с DRM-шифрованием, плюс каждый сегмент может требовать отдельной авторизации. Такой контент целиком можно получить только «прослушав» его фактически в реальном времени, что занимает много времени и генерит много детектируемого трафика.
🦄2❤1
Это был вводно-обзорный пост, а теперь поговорим как с этим жить.
На самом деле, часто защиту от парсинга перепоручают специализированным сервисам (Cloudflare, Akamai bot manager), которые делают много черновой работы сами, в том числе javascript challenge (что-то тыкнуть на странице, поводить мышкой и тд). Это отсекает кучу парсеров в виде просто скриптов.
🦾 Поэтому если мы хотим сделать что-то серьёзное, нужно изначально работать в browser-like стиле. Самый популярный набор библиотек — это Selenium и Playwright. Браузер можно обернуть в xvfb (виртуальный GUI) и получить полнофункциональный графический браузер, потому что headless-режим иногда даёт свои микро-нюансы.
👣 Затем нам нужно «набить историю» и немного походить по сайту, имитируя поведение живого пользователя: сохранять все куки, localStorage, вести себя правдоподобно.
Совсем грязный хак для очень сложных систем — попасть на нужный сайт ботом из поисковика: так мы становимся более похожими на целевого пользователя, нежели по прямому заходу на сайт.
🤖🤖 Для больших объёмов нужна фермочка таких ботов — доступ к различным прокси и пулам браузеров с подготовленной историей.
Если все сделать правильно, это становится ключиком к большинству интернета. Остальное — либо глубокая специфика, либо действительно надёжные системы.
На самом деле, часто защиту от парсинга перепоручают специализированным сервисам (Cloudflare, Akamai bot manager), которые делают много черновой работы сами, в том числе javascript challenge (что-то тыкнуть на странице, поводить мышкой и тд). Это отсекает кучу парсеров в виде просто скриптов.
🦾 Поэтому если мы хотим сделать что-то серьёзное, нужно изначально работать в browser-like стиле. Самый популярный набор библиотек — это Selenium и Playwright. Браузер можно обернуть в xvfb (виртуальный GUI) и получить полнофункциональный графический браузер, потому что headless-режим иногда даёт свои микро-нюансы.
👣 Затем нам нужно «набить историю» и немного походить по сайту, имитируя поведение живого пользователя: сохранять все куки, localStorage, вести себя правдоподобно.
Совсем грязный хак для очень сложных систем — попасть на нужный сайт ботом из поисковика: так мы становимся более похожими на целевого пользователя, нежели по прямому заходу на сайт.
🤖🤖 Для больших объёмов нужна фермочка таких ботов — доступ к различным прокси и пулам браузеров с подготовленной историей.
Если все сделать правильно, это становится ключиком к большинству интернета. Остальное — либо глубокая специфика, либо действительно надёжные системы.
🦄2✍1
👾👾👾 Важный плюс вайб-кодинга
Один из самых крутых и редко упоминаемых плюсов вайб-кодинга — это возможность быстро собрать себе нужный сетап чего угодно и что-то попробовать, с чем вы еще не работали, а хотелось бы.
Захотелось поиграться с kafka streams — вжух и готово, вебсокеты, новая dvc, — без проблем. Описываешь словами что нужно и в какой комбинации (а сложные конфигурации часто можно собрать с первого же хорошего промпта), сразу просишь упаковаться в docker-compose и через пару минут все будет готово.
Ну а самый популярный инструмент вайб-кодинга — Cursor — сейчас всем дает достаточно много бесплатных запросов в топовые модельки и не требует впн, поэтому попробовать его хотя бы разок точно стоит 🤗
Один из самых крутых и редко упоминаемых плюсов вайб-кодинга — это возможность быстро собрать себе нужный сетап чего угодно и что-то попробовать, с чем вы еще не работали, а хотелось бы.
Захотелось поиграться с kafka streams — вжух и готово, вебсокеты, новая dvc, — без проблем. Описываешь словами что нужно и в какой комбинации (а сложные конфигурации часто можно собрать с первого же хорошего промпта), сразу просишь упаковаться в docker-compose и через пару минут все будет готово.
Ну а самый популярный инструмент вайб-кодинга — Cursor — сейчас всем дает достаточно много бесплатных запросов в топовые модельки и не требует впн, поэтому попробовать его хотя бы разок точно стоит 🤗
🤗3👍2🤯1💩1
Написал большую статью на хабр о том, как мы делаем внутренний бенчмарк для распознавания речи (ASR).
Детальная часть о том, почему распознавание в реалтайме так важно, особенности и нюансы замеров и, собственно, сами циферки.
Претенденты: семейство Whisper, семейство GigaAM, T-One и vosk.
Приятного чтения! 🤗
https://habr.com/ru/articles/938438/
Детальная часть о том, почему распознавание в реалтайме так важно, особенности и нюансы замеров и, собственно, сами циферки.
Претенденты: семейство Whisper, семейство GigaAM, T-One и vosk.
Приятного чтения! 🤗
https://habr.com/ru/articles/938438/
Хабр
Бенчмарк качества распознавания речи (ASR) в телефонии: как мы сравниваемся с Whisper, GigaAM и T-One
Привет! Распознаванием речи (ASR) уже никого не удивишь, но качественное распознавание на разговорном русском языке, а особенно в телефонии — очень сложная штука: люди редко говорят как...
👍4🔥2❤1
Вчера гугл сделал очень крутой релиз, выложив новую модель Gemini Flash для картинок. Я на ней залип, это очень крутая штука. А полученный тест-драйв упаковал в пост на хабре.
https://habr.com/ru/articles/941290/
https://habr.com/ru/articles/941290/
Хабр
Тест-драйв Nano Banana (Gemini 2.5 Flash Image): новый фотошоп и революция в редактировании изображений от Google
Вчера вышла модель Gemini 2.5 Flash Image (промо название Nano Banana), которая, возможно, изменит мир работы с изображениями так, как это сделал своим появлением фотошоп. В посте — много классных...
🔥11🍌2🦄2
Так как я сейчас занимаюсь по большей части агентами, то переименовал канальчик в Agentic World, планирую писать больше коротких, но интересных заметок про агентов, LLM, продукты и людей. А в качестве примера — бекстейдж того, как я подбирал аватарку.
Сначала хотелось сделать какой-то привычный мир, в котором часть работы взяли на себя агенты. Почему-то пришла в голову булочная. Но так как агенты работу забирают, но часто делают кривовасто, то хотелось отразить и это.
Сначала показалась удачная аналогия с симпсонами, как аналог перепопсованному миядзаки. Но не пошло.
Потом вспомнилось, как в генерашки удачно передается советский треш-колорит, но мой привычный генератор с этим не справился и вышла шляпа. Да и убитая общага — как будто бы чуть не то.
Полет мысли дальше — а что если взять атмосферу безнадеги ранних 90х и поместить туда роботов? Ведь чисто в теории, если они заберут у нас работу (хаха), то чисто гипотетически такое возможно?
Вышли две крутые картинки, не смог между ними выбрать и сгенерировал третью — чисто под аву. По-моему, вышло весело, доволен 😀
Сначала хотелось сделать какой-то привычный мир, в котором часть работы взяли на себя агенты. Почему-то пришла в голову булочная. Но так как агенты работу забирают, но часто делают кривовасто, то хотелось отразить и это.
Сначала показалась удачная аналогия с симпсонами, как аналог перепопсованному миядзаки. Но не пошло.
Потом вспомнилось, как в генерашки удачно передается советский треш-колорит, но мой привычный генератор с этим не справился и вышла шляпа. Да и убитая общага — как будто бы чуть не то.
Полет мысли дальше — а что если взять атмосферу безнадеги ранних 90х и поместить туда роботов? Ведь чисто в теории, если они заберут у нас работу (хаха), то чисто гипотетически такое возможно?
Вышли две крутые картинки, не смог между ними выбрать и сгенерировал третью — чисто под аву. По-моему, вышло весело, доволен 😀
👍3💅3❤1🤪1
Написал ещё одну статейку, на этот раз про то, как собрать browser-use на голой LLM 🤗
https://habr.com/ru/articles/943692/
https://habr.com/ru/articles/943692/
Хабр
Порулить браузером через LLM: пишем AI-агента в стиле «browser-use» на ванильной LLM без фреймворков
Привет! Не успел мир договориться, что вообще подразумевать под агентами, как в инфополе обычные агенты заменились аж сразу мультиагентными системами. Обычно большинство статей про агентов начинаются...
👍5🔥3👻1
С самого начала года у меня было желание забенчмаркать фреймворки для агентов. Но оказалось, что сравнить их все вместе не самая простая задачка. Ее я и попытался решить в новой статейке на хабре, где описана задача, сложности и в конце — большой обзор на все более-менее известные на сейчас фреймворки.
https://habr.com/ru/articles/953226/
https://habr.com/ru/articles/953226/
Хабр
Зоопарк фреймворков для AI-агентов: как выбрать подходящий — делаем бенчмарк и большое сравнение
Привет! В этой статье я детально разберу основные фреймворки для AI-агентов, попробую их побенчить и детально распишу их плюсы и минусы. Если вы подступались к агентам, то первым вопросом наверняка...
👍6👀2🔥1
Неделю назад OpenAI выкатили свой новый протокол Agentic Commerce Protocol, который позволяет продавцам сгружать товары в ChatGPT, а пользователя этим товары нативно покупать.
Сам протокол достаточно понятен: есть товарные фиды, есть три эндпоинта, которые фиксируют заказ, выдают rich-state-cart (то есть всю инфу о транзакции за раз), есть интересный момент про одноразовые токены, жестко привязанные к продавцу и товару.
Штука интересна даже не столько сама по себе, сколько тем, что очень похожую вещь в середине сентября выкатил Google, а значит американский бигтех очень верит в агентный/LLMный еком и это неизбежно отразится на всех нас.
Больше деталей в статье на хабре:
https://habr.com/ru/articles/953640/
Сам протокол достаточно понятен: есть товарные фиды, есть три эндпоинта, которые фиксируют заказ, выдают rich-state-cart (то есть всю инфу о транзакции за раз), есть интересный момент про одноразовые токены, жестко привязанные к продавцу и товару.
Штука интересна даже не столько сама по себе, сколько тем, что очень похожую вещь в середине сентября выкатил Google, а значит американский бигтех очень верит в агентный/LLMный еком и это неизбежно отразится на всех нас.
Больше деталей в статье на хабре:
https://habr.com/ru/articles/953640/
Хабр
ChatGPT как главный маркетплейс планеты: разбираем OpenAI Agentic Commerce Protocol
Не так давно OpenAI анонсировала Instant Checkout и затем опубликовала Agentic Commerce Protocol — два важных изменения, которые могут качественно повлиять на то, как будет выглядеть еком в ближайшие...
👍4❤1👏1
Пока ночью курсор пыхтел над моим одним интересным проектом, параллельно прочитал хорошую статью о методах оценки LLM, которую захотелось перевести на русский. Если вы так или иначе занимаетесь оценкой или разработкой LLM (а у меня половина окружения плюс-минус такое), то прям экстра-нового в ней ничего не будет, но как хорошая систематизация — вполне неплохо.
Но если тема оценок (или как модно говорить evals) интересна или хочется-таки на уровне фундамента понять как подбирать LLMку под себя, то может быть очень интересно.
https://habr.com/ru/articles/953684/
Но если тема оценок (или как модно говорить evals) интересна или хочется-таки на уровне фундамента понять как подбирать LLMку под себя, то может быть очень интересно.
https://habr.com/ru/articles/953684/
Хабр
Понимание оценки LLM: детальный разбор 4 основных подходов
Привет! Вчера вышла отличная статья от Себастьяна Рашки, которая детально разбирает основные способы оценки LLM-моделей. Глобально их можно разделить на 4 категории: оценка по бенчмаркам,...
👍4❤1
