Код:
import telebot
import requests
from bs4 import BeautifulSoup as bs
bot = telebot.TeleBot('*Токен*')
new = 'Первым замом Жириновского в центральном аппарате ЛДПР назначен депутат Алексей Диденко'
n = []
num = 0
def rass(message):
while True:
import random
global new
global n
global num
url = f'http://{random.choice(n)}'
response = requests.get(url)
soup = bs(response.text, 'lxml')
teg = soup.find_all('div', class_='tgme_widget_message_wrap')
div = soup.find_all('div', class_='tgme_widget_message')
next = soup.find_all('div', class_='tgme_widget_message_bubble')
text_ = soup.find_all('div', class_='tgme_widget_message_text')
s = []
for i in text_:
s.append(i)
try:
out = str(s[-1])
except IndexError:
bot.send_message(message.chat.id, 'Вы неправильно ввели какал!')
num = 0
n = []
kanal(message)
out = out[65:]
out = out[:-6]
for _ in range(out.count('<')):
a = out.find('<')
b = out.find('>')
s = out[a:b+1]
out = out.replace(s, '')
if out == new:
pass
else:
new = out
bot.send_message(message.chat.id, f'{out}\n-----\nНовость от {url}')
print(out)
def proverka(message):
if message.text.lower() == 'стоп' and n != []:
num = 1
print(n)
rass(message)
else:
n.append(message.text)
bot.send_message(message.chat.id, 'Чтобы заполнить больше каналов пини "/next"')
def kanal(message):
msg = bot.send_message(message.chat.id, 'Введите название канала например: @rian_ru. Если больше не хотите вводить названия напишите "Стоп"')
bot.register_next_step_handler(msg, proverka)
@bot.message_handler(commands='next')
def pr(message):
if num == 0:
kanal(message)
else:
rass(message)
@bot.message_handler(commands='start')
def nav(message):
pr(message)
bot.polling()
Консоль:
Traceback (most recent call last):
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connection.py", line 174, in _new_conn
conn = connection.create_connection(
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\util\connection.py", line 72, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connectionpool.py", line 398, in _make_request
conn.request(method, url, **httplib_request_kw)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connection.py", line 239, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1037, in _send_output
self.send(msg)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 975, in send
self.connect()
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connection.py", line 205, in connect
conn = self._new_conn()
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connection.py", line 186, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x000001AFDEF130D0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\adapters.py", line 440, in send
resp = conn.urlopen(
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connectionpool.py", line 785, in urlopen
retries = retries.increment(
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\util\retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='rian_ru', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001AFDEF130D0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Users\Student\Documents\GitHub\arhipT999.github.io\tbot.py", line 73, in <module>
bot.polling()
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 664, in polling
self.__threaded_polling(non_stop, interval, timeout, long_polling_timeout, allowed_updates)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 726, in __threaded_polling
raise e
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 686, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 136, in raise_exceptions
raise self.exception_info
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 88, in run
task(*args, **kwargs)
File "c:\Users\Student\Documents\GitHub\arhipT999.github.io\tbot.py", line 53, in proverka
rass(message)
File "c:\Users\Student\Documents\GitHub\arhipT999.github.io\tbot.py", line 18, in rass
response = requests.get(url)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\sessions.py", line 645, in send
r = adapter.send(request, **kwargs)
File "C:\Users\Student\AppData\Local\Programs\Python\Python310\lib\site-packages\requests\adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='rian_ru', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001AFDEF130D0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))