You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除Python汇率解析器中货币名称开头的空格?

问题:去除美元汇率解析器中货币名称前的多余空格

你遇到的问题是因为从HTML标签提取的文本包含了原始HTML里的缩进、换行等空白字符,导致名称前出现多余空格。可以通过以下两种简单方式解决:

方法1:使用字符串的strip()方法

直接对提取到的name文本调用strip(),去除首尾所有空白字符(包括空格、换行符、制表符等):

def usd():
    import requests
    import bs4

    r = requests.get('https://fx-rate.net/USD/')

    if r.status_code == 200:
        soup = bs4(r.text, "html.parser")
        tbody = soup.find_all("tbody")[1]

        for info in tbody:
            try:
                name = info.find("td").text.strip()  # 添加strip()去除首尾空白
                rate = info.find("a", class_ = "1rate").text.strip()  # 也可给rate添加,避免潜在空白

            except:
                pass
        
            print(f"{name} | {rate}")

    else:
        print(r.status_code)
usd()

方法2:使用BeautifulSoup的get_text(strip=True)方法

BeautifulSoup提供了更直接的方式,在获取文本时就自动去除首尾空白:

def usd():
    import requests
    import bs4

    r = requests.get('https://fx-rate.net/USD/')

    if r.status_code == 200:
        soup = bs4(r.text, "html.parser")
        tbody = soup.find_all("tbody")[1]

        for info in tbody:
            try:
                name = info.find("td").get_text(strip=True)  # 使用get_text并设置strip=True
                rate = info.find("a", class_ = "1rate").get_text(strip=True)

            except:
                pass
        
            print(f"{name} | {rate}")

    else:
        print(r.status_code)
usd()

两种方法都能得到干净的输出,示例如下:

Danish Krone | 7.65
Egyptian Pound | 19.7
Ethereum | 0.0008
Euro | 1.03
Hong Kong Dollar | 7.85

内容的提问来源于stack exchange,提问作者user18867040

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:46:07