@David5

Телеграмм бот + парсер?

Бот каждые 20 сек присылает последнею статью(пока для теста), а когда появляется новая статья он все равно присылает которую присылал в начале(вторую), а над первую. Но если бота перезапускаешь он отправляет также первую в списке, но если выходит новая, он ее не присылает. Не могу понять почему, вроде функция постоянно обращается по ссылке, и не сохраняет никого значения.
Код снизу, заранее спасибо!

import logging
import config
import asyncio


import requests
import lxml.html
from lxml import etree
import time

def get_titles(html_text):
    tree = lxml.html.document_fromstring(html_text)
    text_titles = tree.xpath('/html/body/div[1]/div[5]/div/div/div[1]/div/div[2]/ul/li[1]/p/a/@href')


  
    return 'https://www.m24.ru/news{}'.format(*text_titles)

html_text = requests.get('https://www.m24.ru/news')





from aiogram import Bot, Dispatcher, executor, types

logging.basicConfig(level=logging.INFO)


bot = Bot(token=config.TOKEN)
dp = Dispatcher(bot)



 
async def gg():
    while True:
        await bot.send_message(id, get_titles(html_text.text))
        time.sleep(20)

 
    
  
      

asyncio.run(gg())
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Ну так код страницы один раз получили
html_text = requests.get('https://www.m24.ru/news')

Он сам не будет обновляться, это просто текст. В функцию положите гет запрос
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы