October 7, 2025

AI-агент для сбора новостей или готовые no-code инструменты

Создать AI-агента для сбора новостей. Вот пошаговый план, который поможет вам реализовать этот проект. Мы будем использовать Python, так как для него существует множество готовых библиотек.

Этап 1: Планирование и настройка

Прежде чем писать код, нужно все подготовить.

  1. Определите критерии новостей. Это новости с определенными ключевыми словами (например, "искусственный интеллект"), на определенную тему или с определенной тональностью. Четкое определение поможет на этапе фильтрации.
  2. Составьте список источников. Укажите полные URL-адреса 7 сайтов и точные названия 7 Twitter-аккаунтов.
  3. Настройте рабочее окружение.
    • Установите Python.
    • Установите необходимые библиотеки. Откройте терминал или командную строку и выполните следующие команды:Bashpip install requests beautifulsoup4 tweepy scikit-learn pandas
  4. Получите доступ к Twitter API.
    • Зарегистрируйте аккаунт разработчика на портале разработчиков Twitter (X).
    • Создайте новое приложение.
    • Сгенерируйте и сохраните ключи API: API Key, API Secret Key, Access Token и Access Token Secret. Они понадобятся для доступа к данным Twitter.

Этап 2: Сбор данных

На этом этапе мы напишем скрипты для сбора информации с сайтов и из Twitter.

Сбор новостей с сайтов (веб-скрапинг)

Для каждого из 7 сайтов придется написать отдельный парсер, так как их структура будет отличаться. Основной принцип таков:

  • Используйте библиотеку requests, чтобы получить HTML-код страницы.
  • Используйте BeautifulSoup, чтобы извлечь из HTML-кода нужную информацию (заголовки, текст, даты).

Пример простого скрапера:

Python

import requests
from bs4 import BeautifulSoup

# URL целевого сайта
url = 'https://example-news-site.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# Найдите все заголовки новостей (этот селектор будет разным для каждого сайта)
headlines = soup.find_all('h2', class_='article-title')

for headline in headlines:
    print(headline.text)

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

Сбор данных из Twitter

Используйте библиотеку tweepy и ваши ключи API для получения твитов.

Пример сбора твитов:

Python

import tweepy

# Ваши ключи API
api_key = "ВАШ_API_KEY"
api_secret_key = "ВАШ_API_SECRET_KEY"
access_token = "ВАШ_ACCESS_TOKEN"
access_token_secret = "ВАШ_ACCESS_TOKEN_SECRET"

# Аутентификация
auth = tweepy.OAuthHandler(api_key, api_secret_key)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

# Получение последних твитов с аккаунта 'twitter_username'
tweets = api.user_timeline(screen_name='twitter_username', count=10, tweet_mode='extended')

for tweet in tweets:
    print(tweet.full_text)

Этот скрипт нужно будет запустить для каждого из 7 аккаунтов.


Этап 3: Обработка и фильтрация с помощью AI

Теперь, когда у вас есть "сырые" данные, их нужно обработать и отфильтровать.

  1. Предварительная обработка текста. Очистите собранный текст: удалите HTML-теги, лишние пробелы и знаки препинания.
  2. Классификация текста (AI-компонент). Это сердце вашего агента. Вам нужно научить модель отличать нужные новости от ненужных.
    • Создайте обучающий набор данных. Соберите небольшой набор новостей (50-100 примеров) и вручную разметьте их: "подходит" или "не подходит".
    • Векторизация текста. Преобразуйте текст в числа, которые сможет понять модель. Для этого используется TfidfVectorizer из библиотеки scikit-learn.
    • Обучение модели. Используйте простой, но эффективный алгоритм, например, "Наивный Байес" (MultinomialNB).

Пример кода для обучения и применения модели:

Python

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline

# Пример обучающих данных
data = [
    ("Технологии искусственного интеллекта меняют мир", "подходит"),
    ("Вчера прошел футбольный матч", "не подходит"),
    ("Новые достижения в машинном обучении", "подходит"),
    ("Рецепт яблочного пирога", "не подходит"),
]

# Разделяем тексты и метки
texts = [item[0] for item in data]
labels = [item[1] for item in data]

# Создаем и обучаем модель
model = make_pipeline(TfidfVectorizer(), MultinomialNB())
model.fit(texts, labels)

# Применяем модель к новым данным
собранные_новости = ["NVIDIA представила новый ИИ-ускоритель", "Политика и экономика сегодня"]
предсказания = model.predict(собранные_новости)

for новость, категория in zip(собранные_новости, предсказания):
    if категория == "подходит":
        print(f"Новость: '{новость}' - подходит!")

Примените эту модель ко всем собранным новостям, чтобы отфильтровать только те, которые соответствуют вашим критериям.


Этап 4: Хранение и автоматизация

  1. Хранение результатов. Отфильтрованные новости можно сохранять в удобном для вас формате:
    • CSV-файл или JSON-файл: просто и удобно для небольших объемов данных.
    • База данных (например, SQLite): более надежное решение, если новостей будет много.
  2. Автоматизация. Чтобы агент работал самостоятельно, его нужно запускать по расписанию.
    • В Windows: используйте "Планировщик заданий".
    • В macOS или Linux: используйте cron.

Например, чтобы скрипт news_agent.py запускался каждый час, команда в cron будет выглядеть так:

Bash

0 * * * * python /путь/к/вашему/скрипту/news_agent.py

Таким образом, ваш AI-агент будет автоматически собирать, фильтровать и сохранять нужные вам новости, экономя ваше время.

Чтобы избежать написания кода и технических сложностей, вы можете использовать готовые no-code ("без кода") инструменты. Они позволяют создавать автоматизированные процессы в визуальном редакторе, соединяя разные сервисы между собой.

Вот лучшие варианты для вашей задачи, разделенные на категории.


Инструменты автоматизации (Лучший выбор)

Эти сервисы — ваш "клей" для интернета. Вы можете сказать им: "Когда на таком-то сайте или в Твиттере появляется что-то новое, возьми это и положи вот сюда".

  • Make.com (ранее Integromat): Очень мощный и гибкий инструмент с наглядным графическим интерфейсом. Вы можете буквально видеть, как данные перетекают из одного сервиса в другой.
    • Как это работает: Вы создаете "сценарий".
      1. Триггер: "Следить за RSS-лентой сайта" или "Следить за новым твитом от пользователя @имя". Большинство новостных сайтов имеют RSS-ленту, что сильно упрощает сбор данных.
      2. Действие: "Добавить полученные данные в Google Таблицу" или "Отправить уведомление в Telegram".
      3. Фильтр: Вы можете добавить условие, чтобы отбирать только новости, содержащие определенные ключевые слова.
  • Zapier: Самый известный и простой в использовании инструмент. У него огромная база готовых интеграций. Он немного менее гибкий, чем Make, но для старта — идеален.
    • Как это работает: Похоже на Make, но здесь вы создаете "Zaps" (Запы). Например: "Когда в Твиттере пользователя Х появляется новый пост, создать новую строчку в Airtable".

Плюсы этого подхода:

  • Минимум технических знаний: Не нужно писать код.
  • Гибкость: Можно соединять тысячи разных приложений.
  • Надежность: Эти платформы работают 24/7.

Минусы:

  • Зависимость от RSS: Сбор данных с сайтов проще всего, если у них есть RSS-лента. Если ее нет, задача усложняется.
  • Ограничения тарифов: Бесплатные планы имеют ограничения по количеству операций в месяц.

Визуальные веб-скраперы (Если у сайтов нет RSS)

Если нужные вам сайты не предоставляют RSS-ленты, вам понадобится инструмент, который может "смотреть" на веб-страницу и забирать с нее данные. Это и есть веб-скрапинг, но без кода.

  • ParseHub: Мощный инструмент, который позволяет просто кликать на нужные элементы на странице (заголовки, текст, даты), чтобы научить его, какую информацию собирать. У него есть бесплатный тариф для небольших проектов.
  • Octoparse: Очень популярен, имеет дружелюбный интерфейс и готовые шаблоны для многих популярных сайтов. Позволяет настроить регулярный сбор данных по расписанию.

Как это работает:

  1. Вы открываете целевой сайт внутри программы.
  2. Кликаете на заголовок первой новости, потом на второй — программа понимает, что нужно собрать все похожие заголовки.
  3. Проделываете то же самое для ссылок, дат и т.д.
  4. Настраиваете расписание и указываете, куда выгружать данные (например, в Excel или JSON).

Плюсы:

  • Работает с любыми сайтами: Не зависит от наличия RSS или API.
  • Визуальный процесс: Вы наглядно "обучаете" робота.

Минусы:

  • Небольшая кривая обучения: Потребуется час-другой, чтобы разобраться в интерфейсе.
  • Хрупкость: Если сайт изменит свой дизайн, скрапер может "сломаться", и его придется настраивать заново.

Рекомендуемый простой сценарий

  1. Центр хранения данных: Создайте таблицу в Airtable или Google Sheets. Это будет ваша база данных, куда будут падать все собранные новости.
  2. Инструмент автоматизации: Зарегистрируйтесь в Make.com.
  3. Настройка сбора:
    • Для сайтов: Найдите их RSS-ленты (часто ссылка есть в "подвале" сайта или по адресу имя-сайта.ру/rss). В Make.com используйте модуль "RSS" и укажите ссылку на ленту.
    • Для Твиттера: В Make.com используйте модуль "X (formerly Twitter)" для отслеживания твитов от нужных аккаунтов.
  4. Создание сценария в Make.com:
    • Создайте сценарий, где триггером будет "Новая статья в RSS" или "Новый твит".
    • Добавьте фильтр по ключевым словам (например, "текст содержит 'искусственный интеллект'").
    • Следующим шагом укажите действие "Добавить строчку в Airtable/Google Sheets".

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