Убрать "грн" - PullRequest
       0

Убрать "грн"

0 голосов
/ 16 апреля 2020

Я написал парсер, который должен анализировать обменные курсы, но есть последний штрих.
Код:

import requests
from bs4 import BeautifulSoup

URL = 'https://www.google.com/search?sxsrf=ALeKk02hYi-HCGXbHdPuek-VJRu_8qsUVg%3A1587054998453&ei=lomYXvaSG7zAmwWP_LHQBA&q=%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80+%D0%B3%D1%80%D0%B8%D0%B2%D0%BD%D0%B0&oq=&gs_lcp=CgZwc3ktYWIQARgBMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnMgcIIxDqAhAnOgQIABBHSgkIFxIFMTAtMjRKCAgYEgQxMC0yUPFtWPFtYKt8aAFwAngAgAEAiAEAkgEAmAEAoAEBqgEHZ3dzLXdperABCg&sclient=psy-ab'
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', 'accept': '*/*'}


def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_="VgAgW")
    currency = []
    for item in items:
        currency.append({
            'uah': item.find('span', class_='SwHCTb').get_text(strip=True),

        })
        print(f"'Now the course:' + {currency}")
    return currency


def parse():
    html = get_html(URL)

    if html.status_code == 200:
        get_content(html.text)
    else:
        print('Error')


parse()

Я не знаю, как это убрать: [{'uah':} ] Вот что получается:

'Now the course:' + [{'uah': '27,22'}]

Process finished with exit code 0

1 Ответ

0 голосов
/ 16 апреля 2020
  1. Валюта - это список currency = [], поэтому, когда вы печатаете список, он всегда печатается следующим образом [].
  2. Валюта - это список диктов {'uah': ...}, поэтому, когда вы печатаете dict, он всегда печатает вот так {key: value}.
  3. Похоже, вам нужно print(f"Now the course: {currency[0]['uah']}"), где [0] - первый элемент списка, который является dict, а затем получает значение этого первого dict по его ключу 'uah'.

Вы можете добавить дополнительную переменную course, чтобы упростить доступ к значению:

course = item.find('span', class_='SwHCTb').get_text(strip=True)
currency.append({'uah': course})
print(f"Now the course: {course}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...