Как объединить результат трех функций в одну переменную?

Korda

Новичок
Пользователь
Сен 13, 2022
16
0
1
Есть 3 функции(парсер, которые собирае инфу с сайта), как можно подправить сообщение? К примеру парсер(первой функции) выдает 23, а я хочу чтобы "было Температура составляет 23 градуса?"
Python:
def pareserADIGEI_STATUS(url):
    r = requests.get(URL)
    soup = b(r.text, 'html.parser')
    Adigei_STATUS = soup.find_all('div', class_ ="TWnE")
    return [c.text for c in Adigei_STATUS]

def parserADIGEI_TEMPUR(url):
    r = requests.get(URL)
    soup = b(r.text, 'html.parser')
    Adigei_TEMPUR = soup.find_all('div', class_ ="HhSR MBvM")
    return [b.text for b in Adigei_TEMPUR]


def parserADIGEI_WIND(url):
    r = requests.get(URL)
    soup = b(r.text, 'html.parser')
    Adigei_WIND = soup.find_all('span', class_= "VaOz PB4k")
    return [s.text for s in Adigei_WIND]

ADIGEI = parserADIGEI_WIND(URL)
ADIGEI2 = parserADIGEI_TEMPUR(URL)
ADIGEI3 = pareserADIGEI_STATUS(URL)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
немного не понятно, так как нет воспроизводимого примера
может вам f-строки нужны?
типо return f"Температура составляет {[c.text for c in Adigei_STATUS]} градуса" ?
 
  • Мне нравится
Реакции: Korda

Korda

Новичок
Пользователь
Сен 13, 2022
16
0
1
немного не понятно, так как нет воспроизводимого примера
может вам f-строки нужны?
типо return f"Температура составляет {[c.text for c in Adigei_STATUS]} градуса" ?
Только не работает, вот в чем проблема
 

Korda

Новичок
Пользователь
Сен 13, 2022
16
0
1
немного не понятно, так как нет воспроизводимого примера
может вам f-строки нужны?
типо return f"Температура составляет {[c.text for c in Adigei_STATUS]} градуса" ?
Выводит функция(3) вот это:
Ветер 2 м/с
19°
Сегодня холоднее, чем вчера и облачно

Код:
def pareserADIGEI_STATUS(url):
    r = requests.get(URL)
    soup = b(r.text, 'html.parser')
    Adigei_STATUS = soup.find_all('div', class_ ="TWnE")
    return [c.text for c in Adigei_STATUS]

def parserADIGEI_TEMPUR(url):
    r = requests.get(URL)
    soup = b(r.text, 'html.parser')
    Adigei_TEMPUR = soup.find_all('div', class_ ="HhSR MBvM")
    return  f"Температура составляет {[c.text for c in Adigei_TEMPUR]} градусов"


def parserADIGEI_WIND(url):
    r = requests.get(URL)
    soup = b(r.text, 'html.parser')
    Adigei_WIND = soup.find_all('span', class_= "VaOz PB4k")
    return [c.text for c in Adigei_WIND]

ADIGEI2 = parserADIGEI_WIND(URL)
ADIGEI1 = parserADIGEI_TEMPUR(URL)
ADIGEI = pareserADIGEI_STATUS(URL)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Выводит функция(3) вот это:
что это за функция?
я просто не понимаю, что вам нужно...

в вашем коде только нужен юрл? дайте его, я посмотрю
 

Korda

Новичок
Пользователь
Сен 13, 2022
16
0
1
что это за функция?
я просто не понимаю, что вам нужно...

в вашем коде только нужен юрл? дайте его, я посмотрю
Вот код, он собирает информацию о дате, без строки ф он пишет "Четверг, 15 сентября", но с f строкой "Дата: ['Четверг, 15 сентября']"(нужно что было "Дата: Четверг, 15 сентября")
Если нужен код для отправки сообщения в телеграмме могу отправить.


Python:
import requests
import telebot
from telebot import types
from bs4 import BeautifulSoup as b


URLBASHKOR3 = 'https://weather.rambler.ru/v-ufe/'

def parserABASHKOR_DATA(URLBASHKOR3):
    r = requests.get(URLBASHKOR3)
    soup = b(r.text, 'html.parser')
    ABASHKOR_DATA = soup.find_all('div', class_ = "w4bT")
    return  f"Дата: {[c.text for c in ABASHKOR_DATA]}"
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
return f"Дата: {[c.text for c in ABASHKOR_DATA][0]}"
 

Korda

Новичок
Пользователь
Сен 13, 2022
16
0
1
return f"Дата: {[c.text for c in ABASHKOR_DATA][0]}"
Спасибо)
 

Форум IT Специалистов