BeautifulSoup返回的不仅仅是所需的浮点数

时间:2015-03-13 09:07:22

标签: python beautifulsoup currency-exchange-rates

我正在尝试从网站下载/获取DKK兑换美元的汇率。我已经成功地到达那里。但是这段代码返回的不仅仅是我需要的浮点数。

#!/usr/bin/env python
import urllib.request, urllib.error, urllib.parse
from bs4 import BeautifulSoup

url = "http://www.x-rates.com/table/"
page = urllib.request.urlopen(url)
soup_packtpage = BeautifulSoup(page)
page.close()

#First, we will search for the table with class="views-view-grid" as follows:
ratestable = soup_packtpage.find("table",class_="tablesorter ratesTable")

# Find and print the value of Danish Krone to USD - only the floating point no.
print(soup_packtpage.find(text="Danish Krone").findNext('td').contents[0])

但是这段代码返回的不仅仅是我需要的浮点数。 它回归这个烂摊子:

<a href="/graph/?from=USD&amp;to=DKK">7.019776</a>

有人可以告诉我如何从这个浮点结果中删除字符串,这样我可以将它存储为变量吗?

1 个答案:

答案 0 :(得分:0)

我想你在内容之前想要另一个findNext('a')。您希望保持汇率,因为它本身不是货币(例如,它的精确度不需要为2sf。)。

例如:

USD      Krone
$1.00    kr.7.02
$1000    kr.7019.78

我不熟悉美味的汤,但这是我尝试的。

或者可能找到使用您可以在搜索中使用的漂亮类名的货币转换网站。

实际上看API,这应该足够了:

print(soup_packtpage.find(text="Danish Krone").findNext('td').string)

string查看标签的所有子项时。