Рубрика «парсинг»

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

В работе с FASTA и FASTQ таких мест неприлично много. Почти все они когда‑то были задуманы как удобство.

Вот три, с которыми я сталкивался чаще всего.

Первое. Инструмент пишет FASTQ, а качества у записи нет. Вместо ошибки он подставляет строку из I. Файл получается валидный, парсер доволен, а фильтр по качеству дальше по пайплайну видит идеальные риды и пропускает всё подряд.

Второе.Читать полностью »

6,9к за восемь лет и 121к за полгода: аномалия в данных одного телеграм-канала - 1

Я понимаю, что Хабр не политическая платформа, я хорошо знаком с правилами, понимаю, что получу массу минусов в карму, а может, и бан.

Но!

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

Когда я начал делать сервис для наблюдения за ценами на маркетплейсах, первая архитектура казалась очевидной: пользователь передаёт ссылку, сервер открывает страницу, извлекает цену и по расписанию повторяет проверку.

На схеме всё выглядело просто. На практике сервер быстро превратился в самое ненадёжное место системы.

Страницы, которые нормально открывались в обычном браузере, с VPS возвращали 403Читать полностью »

У проекта есть работающий сайт: ortant.net. На нём 24 принятых исследования, десять досье банков, карта покрытия данных и раздел с методикой. Исследование можно не только прочитать, но и заказать: конструктор собирает вопрос из готовых блоков (банк, окно, фокус), система бесплатно показывает паспорт данных с ценой, и после подтверждения идёт прогон. Медиана прогона $0,132 и 12,8 минуты; результат открывается своей страницей.

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

Дисклеймер. Речь не о взломе и не о нагрузке на чужие серверы. Я работал с публичными страницами товаров — теми, что видит любой человек без логина, — и ходил туда раз в несколько часов. Это история о том, как я разбирался, почему меня блокируют. Рабочие параметры и точные обходы намеренно опущены: тут про механизмы, а не про готовый инструмент для взлома интернета.

С чего все началось

Хотел простую вещь: отслеживать цену на пару товаров, которые ждал со скидкой. Чтобы не заходить руками каждый день, а получить уведомление, когда подешевело.

Думал, это вечер работы. Читать полностью »

Технический пост-мортем: что было, что сломалось, и что в итоге собралось.

Контекст: умер xml-river, keykollector появился API Wordstat

Я работаю в контекстной рекламе и аналитике 6 лет. Самым массовым инструментом для сбора семантики в моём окружении был KeyCollector. Сам KeyCollector давно не парсил Wordstat напрямую — он работал через стороннее расширение xml-river, которое проксировало запросы к Wordstat в обход капчи. Когда xml-river в какой-то момент перестал работать, эта связка обвалилась, и у тысяч специалистов одновременно возникла одна и та же проблема: как теперь снимать частотность?

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

За свои 17+ лет в активной разработке я встречал много проблем, но одна преследовала меня постоянно: JSON. Нет, с самим форматом все ок, но вот с его чтением — не все норм.

Когда я только начинал работать с PHP, я списывал это на скриптовость языка. Отчасти из‑за этого я даже поменял стек. Но когда приходили по‑настоящему большие файлы, это всегда было больно. Иногда — очень. Был проект, где мы ждали не обработку информации бизнес‑логикой, а банального парсинга. Файлы доходили до десятков гигабайт и не всегда влезали в оперативку. Тогда я и заработал себе персональный todo — разобраться с этим раз и навсегда.

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

В общем, выбрал я себе тему курсовой работы на 3-й курс. Озвучивать её не буду, но в целом это распределённая система с фокусом на безопасность, E2EE, offline-first и другие важные концепты. В ходе проектирования я задумался:

А что, если часть инструментов я напишу сам и конкретно под свою задачу?

В моей голове это звучало так: публичные библиотеки обычно пытаются охватить как можно больше функционала, чтобы угодить всем, а мне не хотелось тащить лишние зависимости, которые я даже не буду использовать. Заодно и попрактикуюсь.

Вступление

Собственно говоря, я написал сервер на JavaЧитать полностью »

Кейс, в котором мы поняли что закупщику не нужен «ещё один маркетплейс» — нужен инструмент, который за один запрос покажет, у кого из дистров есть нужный артикул, по какой цене и когда он будет на складе.

Проблема, которую мы решали

Если вы хоть раз закупали IT-железо в B2B — вы знаете этот ритуал.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js