移除“uah”

2024-06-16 13:36:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个解析器,它应该解析汇率,但还有最后一步。
代码:

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

Tags: importurlgetreturndefhtmlparamscontent
1条回答
网友
1楼 · 发布于 2024-06-16 13:36:54
  1. 货币是一个列表currency = [],所以当您打印列表时,它总是这样打印[]
  2. 货币是一个目录列表,所以当你打印目录时,它总是这样打印
  3. 看起来您需要print(f"Now the course: {currency[0]['uah']}"),其中[0]是列表的第一个元素,即dict,然后通过它的键'uah'获取第一个dict的值

您可以添加一个附加变量course,以便更轻松地访问该值:

course = item.find('span', class_='SwHCTb').get_text(strip=True)
currency.append({'uah': course})
print(f"Now the course: {course}")

相关问题 更多 >