как создать сайт каталог и привязать к телеграм боту
Нужно написать лотерейного бота, есть сайт, есть бот, есть часть кода с категориями каталога.
Данные о товарах каталога будут хранится как раз на сайте, а бот будет обращаться к сайту и уже выводить соответствующее сообщение.
Как реализовать часть про связь бота с сайтом и загружать с помощью бота лоты в каталог?
Ответы (1 шт):
Автор решения: Дмитрий
→ Ссылка
Попробуй парсер на beautifulsoup4, и подключить его к боту. Вот как примерно это выглядит на парсере сайта игр:
import telebot
import config
from telebot import types
import requests
from bs4 import BeautifulSoup as BS
bot = telebot.TeleBot(config.TOKEN)
@bot.message_handler(commands=['start'])
def welcome(message):
sti = open('static/welcome2.webp', 'rb')
bot.send_sticker(message.chat.id, sti)
#Keyboard
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Страница 1")
item2 = types.KeyboardButton("Сылки для этих игр")
markup.add(item1, item2)
bot.send_message(message.chat.id,
"Добро пожаловать, {0.first_name}!\nЯ - <b>{1.first_name}</b>, бот созданный для просмотра страниц игр vsetop.".format(
message.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def lalala(message):
if message.chat.type == 'private':
if message.text == 'Страница 1':
#PARSER
config.log(message)
max_page = 1
pages = []
for x in range(1, max_page + 1):
pages.append(requests.get('https://vsetop.org/games/page/' + str(x) ) )
for r in pages:
html = BS(r.content, 'html.parser')
for el in html.select('.news1'):
title = el.select('h1')
bot.send_message(message.chat.id, title[0].text)
bot.send_message(message.chat.id, '<!-----------------!>')
bot.polling(none_stop=True)
Детальнее с этой библиотекой вы можете ознакомиться в документации: http://wiki.python.su/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8/BeautifulSoup