Удалёнка.ру Удалёнка.ру

Рисуем с помощью нейросети бесплатно. Ссылка приглашение в Discord  https://discord.gg/9HKWUGzWAJ Работает два бота для генерации картинок (один полностью бесплатный).

Как мониторить какой то сайт на новый текст и присылать его в дискорд?

Для мониторинга сайтов на новый текст можно использовать библиотеку beautifulsoup4 для парсинга HTML и requests для получения содержимого веб-страницы. Для отправки уведомлений в дискорд можно использовать библиотеку discord.py.

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

python

import discord
from discord.ext import tasks
from bs4 import BeautifulSoup
import requests

# Вставьте свой токен бота
TOKEN = 'INSERT_YOUR_DISCORD_BOT_TOKEN_HERE'

# Введите URL веб-страницы для мониторинга и ID канала, в который будут отправляться уведомления
MONITORED_URL = 'https://example.com'
DISCORD_CHANNEL_ID = 1234567890

# Создание клиента Discord
client = discord.Client()

# Функция для получения содержимого веб-страницы
def get_webpage_content(url):
    response = requests.get(url)
    return response.content

# Функция для отправки сообщения в заданный канал Discord
async def send_notification(channel_id, message):
    channel = client.get_channel(channel_id)
    await channel.send(message)

# Определение асинхронной задачи, которая будет запускаться каждые 5 минут
@tasks.loop(minutes=5)
async def check_website_for_updates():
    # Получение содержимого веб-страницы
    page_content = get_webpage_content(MONITORED_URL)

    # Парсинг HTML с помощью BeautifulSoup
    soup = BeautifulSoup(page_content, 'html.parser')

    # Получение текста из всех элементов <p> на странице
    paragraphs = soup.find_all('p')
    text = '\n'.join([p.get_text() for p in paragraphs])

    # Сравнение текущего текста с предыдущим
    if check_website_for_updates.previous_text != text:
        # Если текст изменился, отправляем уведомление в дискорд
        message = f'Новый текст на {MONITORED_URL}:\n{text}'
        await send_notification(DISCORD_CHANNEL_ID, message)

    # Сохраняем текущий текст для будущих сравнений
    check_website_for_updates.previous_text = text

# Инициализация предыдущего текста
check_website_for_updates.previous_text = ''

# Запуск бота Discord и асинхронной задачи
@client.event
async def on_ready():
    print(f'{client.user.name} подключен к Discord!')
    check_website_for_updates.start()

# Запуск бота Discord
client.run(TOKEN)

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

22
Нет комментариев. Ваш будет первым!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.