Чистый код Короткие заметки веб-разработчика

API от FL.ru для мониторинга новых проектов

На Тостере увидел вопрос по поводу API от FL.ru. На вопрос то я ответил, но здесь я решил расширить свой ответ.

На самом деле, ответ банален — нужно использовать RSS ленту. Такие ленты есть почти у всех сайтов в мире, даже у этого. Раньше RSS использовали, сейчас это, как по мне, бесполезно. Но иногда помогает в мониторинге сайтов со статьями, или как в случае с FL — проектов. А вообще, разработчики бы могли уже давно создать встроенный функционал мониторинга проектов в категориях. Но им не до этого, всё время уходит на переработку условий PRO-аккаунтов.

Собственно, найти этот «API» труда не составляет. На странице всех проектов, в самом низу есть кнопка:

Кнопка «Подписаться через RSS»

В Firefox это работает как-то неправильно, но в Chrome страница открывается в виде текстового XML документа.

Собственно, сама ссылка — https://www.fl.ru/rss/all.xml

К ссылке можно GET-параметрами передать специфичную категорию и подкатегорию. Например, вот ссылка на категорию Программирования, подкатегорию Веб-программирования: https://www.fl.ru/rss/all.xml?subcategory=37&category=5 — соответсвенно здесь будут отображаться только проекты этой подкатегории.

Вот небольшой список категорий:

  • 1 — Менеджмент
  • 2 — Разработка сайтов
  • 3 — Дизайн и Арт
  • 5 — Программирование
  • 6 — Оптимизация (SEO)
  • 7 — Переводы
  • 8 — Тексты
  • 9 — 3D Графика
  • 10 — Фотография
  • 11 — Аудио/Видео
  • 12 — Реклама и Маркетинг
  • 13 — Аутсорсинг и консалтинг
  • 14 — Архитектура/Интерьер
  • 16 — Разработка игр
  • 17 — Полиграфия
  • 19 — Анимация и флеш
  • 20 — Инжиниринг
  • 22 — Обучение и консультации
  • 23 — Мобильные приложения
  • 24 — Сети и инфосистемы

Далее, вы уже можете использовать любую библиотеку для парсинга RSS-лент и вытаскивать всё необходимое.

Для Node.js есть rss-feed-emitter, для PHP — rss-php и cron-обновления.

Для сортировки мусора рекомендую использовать ключевые слова при наличии которых в описании или названии проекта будет срабатывать триггер. Так же, уникальность проектов можно определить по ссылке — каждая ссылка уникальная для каждого проекта.