Answer the question
In order to leave comments, you need to log in
Why doesn't the code after if work?
Good afternoon! I am writing my first parser bot in Python. But after if the code doesn't work. If you divide the code into 2 parts: 'horoscope for the year' and 'horoscope for today' and run separately, then they work. I wanted to combine 2 codes. Can you please help! I would appreciate that.
comes out like this
# -*- coding: utf8 -*-
import telebot
import requests
from bs4 import BeautifulSoup
from telebot import types
bot = telebot.TeleBot(token='my token')
URL = 'url'
HEADERS = {
'user_agent': 'bla bla bla'
}
response = requests.get(URL, headers=HEADERS)
soup = BeautifulSoup(response.text, 'html.parser')
horoscopes = soup.findAll('div', class_='horoscope_item floats_wrapper')
word=''
for i in horoscopes:
word += i.find('div', class_ = 'text_box').text
@bot.message_handler(commands=['start', 'help'])
def main(message):
bot.send_message(message.from_user.id,'Привет! Что ты хочешь узнать? Гороскоп на год или Гороскоп на сегодня?')
if message.text.lower() == 'Гороскоп на год':
bot.send_message(message.from_user.id, 'Какой у тебя гороскоп?Выбери:овен,телец,близнецы,рак,лев,дева,весы,скорпион,стрелец,козерог,водолей,рыбы')
if message.text.lower() == "овен":
bot.send_message(message.from_user.id,
"Его союз с Белой Металлической Крысой даст")
elif message.text.lower() == 'телец':
bot.send_message(message.from_user.id,
'Покровительница 2020 года – Белая Крыса – ')
elif message.text.lower() == 'близнецы':
bot.send_message(message.from_user.id,
'Все их душевные порывы, спонтанные ')
elif message.text.lower() == 'рак':
bot.send_message(message.from_user.id,
'Хозяйка года – Белая Крыса, несмотря на всю ')
elif message.text.lower() == 'лев':
bot.send_message(message.from_user.id,
'Будет и период высокого подъема, когда ')
elif message.text.lower() == 'скорпион':
bot.send_message(message.from_user.id,
'Скорпионы – люди с яркой харизмой и высокой ')
elif message.text.lower() == 'стрелец':
bot.send_message(message.from_user.id,
'Представителям этого знака зодиака, как ')
elif message.text.lower() == 'козерог':
bot.send_message(message.from_user.id,'Повелительница года не')
elif message.text.lower() == 'водолей':
bot.send_message(message.from_user.id,'Перед представителями ')
elif message.text.lower() == 'рыбы':
bot.send_message(message.from_user.id,'В новый 2020 год Рыбы ')
else:
bot.send_message(message.from_user.id, 'Я тебя не понимаю! Напиши повторно.')
bot.polling(none_stop=True)
elif message.text.lower() == 'Гороскоп на сегодня':
bot.send_message(message.chat.id, 'Ваш гороскоп на сегодня:' + word)
if __name__ == '__main__':
bot.polling(none_stop=True)
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question