ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Python (https://forum.antichat.xyz/forumdisplay.php?f=205)
-   -   [Telegram] Простенький анекдот бот (https://forum.antichat.xyz/showthread.php?t=1492440)

Validator 21.10.2023 13:27

anekdot_bot​

Это простенький анекдот бот для телеграмма​
Он парсит анекдоты с сайта​
Цитата:

Сообщение от Спойлер


Код:





Код:

import
random
import
telebot
from
telebot
import
*
#
import
requests
from
bs4
import
BeautifulSoup
# наша страница на которую мы отправляем запрос
url
=
'https://www.anekdotov-mnogo.ru/anekdoti_userov.php'
headers
=
{
'user-agent'
:
'Mozilla/5.0'
}
response
=
requests
.
get
(
url
,
headers
=
headers
)
html
=
response
.
text
soup
=
BeautifulSoup
(
html
,
'lxml'
)
pages
=
'210'
print
(
'Всего страниц: '
+
pages
)
data
=
[
]
def
parser
(
url
,
headers
,
response
,
html
,
soup
,
pages
)
:
for
page
in
range
(
1
,
int
(
pages
)
+
1
)
:
response
=
requests
.
get
(
url
,
headers
=
headers
,
params
=
{
'page'
:
page
}
)
html
=
response
.
text
        soup
=
BeautifulSoup
(
html
,
'lxml'
)
blocks
=
soup
.
find_all
(
'div'
,
class_
=
'tmpLineUnderContent tmpPaddingContent'
)
print
(
f'Парсинг страницы{page}из{pages}...'
)
for
block
in
blocks
:
try
:
data
.
append
(
{
block
.
find
(
'p'
)
.
get_text
(
"\n"
)
,
}
)
except
:
print
(
""
)
print
(
'Получили '
+
str
(
len
(
data
)
)
+
' позиций'
)
print
(
"\n"
)
return
data
#
list_of_jokets
=
parser
(
url
,
headers
,
response
,
html
,
soup
,
pages
)
random
.
shuffle
(
list_of_jokets
)
TOKEN
=
'TOKEN'
bot
=
telebot
.
TeleBot
(
TOKEN
)
@bot.message_handler
(
commands
=
[
'start'
]
)
def
start_message
(
message
)
:
markup
=
types
.
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
item1
=
types
.
KeyboardButton
(
"😜Анекдот😜"
)
item2
=
types
.
KeyboardButton
(
"📝Помощь📝"
)
markup
.
add
(
item1
,
item2
)
bot
.
send_sticker
(
message
.
chat
.
id
,
'CAACAgIAAxkBAAEIqtVkQk6jdnyn7TbwMgoHgmirbLFdkwACpwIAAvEElxNzELAdFfmXJS8E'
)
bot
.
send_message
(
message
.
chat
.
id
,
'❗Привет '
+
message
.
from_user
.
first_name
+
"❗\n😜Ты попал в Anekdot Bot😜\n😁Который поможет тебе весело провести время😁"
,
reply_markup
=
markup
)
@bot.message_handler
(
content_types
=
'text'
)
def
message_reply
(
message
)
:
if
message
.
text
==
"📝Помощь📝"
:
markup
=
types
.
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
item1
=
types
.
KeyboardButton
(
"😜Анекдот😜"
)
item2
=
types
.
KeyboardButton
(
"📝Помощь📝"
)
markup
.
add
(
item1
,
item2
)
bot
.
send_message
(
message
.
chat
.
id
,
'❗Привет '
+
message
.
from_user
.
first_name
+
"❗\n😜Ты попал в Anekdot Bot😜\n😁Он поможет тебе весело провести время😁"
,
reply_markup
=
markup
)
elif
message
.
text
==
"😜Анекдот😜"
or
message
.
text
==
"/anecdote"
:
try
:
if
range
(
0
,
9
)
:
global
list_of_jokets
                bot
.
send_message
(
message
.
chat
.
id
,
list_of_jokets
[
0
]
)
print
(
message
.
from_user
.
username
)
print
(
list_of_jokets
[
0
]
)
del
list_of_jokets
[
0
]
else
:
bot
.
send_message
(
message
.
chat
.
id
,
"Ошибка"
)
except
:
bot
.
send_message
(
message
.
chat
.
id
,
"Пожалуйста подождите..."
)
list_of_jokets
=
parser
(
url
,
headers
,
response
,
html
,
soup
,
pages
)
print
(
list_of_jokets
)
random
.
shuffle
(
list_of_jokets
)
bot
.
polling
(
)





ГОХА | GoxaShow 21.10.2023 16:25

Цитата:

Сообщение от Validator

pages = '210' print('Всего страниц: ' + pages)

в чем смысл?

shutzxc123 21.10.2023 16:39

Цитата:

Сообщение от ГОХА | GoxaShow

в чем смысл?

бот анекдот анекдот бот понял типо

MrDorlik 21.10.2023 16:42

Цитата:

Сообщение от shutzxc123

бот анекдот анекдот бот понял типо

он про строку с pages = 210, понятно что это бот

Validator 21.10.2023 16:50

Цитата:

Сообщение от ГОХА | GoxaShow

в чем смысл?

это я для себя, чтобы понять сколько страниц осталось обработать, это не несёт существенной роли

pages - это сколько страниц обработать


Время: 02:52