@dyrtage6

Выходит неправильное значение в парсере курса валют вк бота, что делать?

Делаю парсер курса валют. Беру инфу курса со страницы гугла. Бот отвечает, но пишет что доллар равен 0.89, как сделать так, чтобы он показывал правильно.
В коде убрал остальные функции -
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import vk_api
import random
import wikipedia
import time
import requests
from bs4 import BeautifulSoup

vk = vk_api.VkApi(token="какой то токен")
vk._auth_token()
vk.get_api()
longpoll = VkBotLongPoll(vk, какой то айди)

play = ["Бумага", "Ножницы", "Камень"]
wikipedia.set_lang("RU")

while True:
    try:
        for event in longpoll.listen():
            if event.type == VkBotEventType.MESSAGE_NEW:
                if event.object.peer_id != event.object.from_id:
                    if "/курс" in event.object.text.lower():
                        DOLLAR_RUB = 'https://www.google.com/search?q=%D0%BA%D1%83%D1%80%D1%81+%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80%D0%B0&rlz=1C1DVJR_ruRU904RU904&oq=%D0%BA%D1%83%D1%80%D1%81+%D0%B4%D0%BE%D0%BB%D0%BB&aqs=chrome.0.69i59j69i57j0l4j69i60j69i61.2360j0j7&sourceid=chrome&ie=UTF-8'
                        headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"}

                        full_page = requests.get(DOLLAR_RUB, headers=headers)

                        soup = BeautifulSoup(full_page.content, 'html.parser')

                        convert = soup.findAll("span", {"class": "DFlfde", "class": "SwHCTb", "data-precision": 2})
                        vk.method("messages.send", {"peer_id": event.object.peer_id, "message": "Сейчас курс доллара равен: " + convert[0].text + " рублей",
                                                    "random_id": 0})
    except Exception as E:
        time.sleep(1)
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 1
@b_a_y
Python, Selenium
Класс называется "DFlfde SwHCTb", а не "class": "DFlfde", "class": "SwHCTb". И тебе нужно получить не значение "data-precision", а "data-value"
5ee8b6c8dbc9f500825213.png
Ответ написан
Ваш ответ на вопрос

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

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