BeautifulSoup returns 多于所需的浮点数
BeautifulSoup returns more than the floating point needed
我正在尝试 download/scrape 网站上丹麦克朗对美元的汇率。我已经设法几乎到达那里。但是这段代码returns比我需要的浮点数多了
#!/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])
但是这段代码returns比我需要的浮点数还多。
它 returns 这个烂摊子:
<a href="/graph/?from=USD&to=DKK">7.019776</a>
有人能告诉我如何从这个浮点结果中剥离字符串,以便我可以将它存储为变量吗?
我猜你想要另一个 findNext('a')
在你的内容之前。你想保持汇率,因为它本身不是一种货币(例如,它的精度不需要是 2sf。)。
例如:
USD Krone
.00 kr.7.02
00 kr.7019.78
我不熟悉 Beautiful soup 但这就是我要尝试的。
或者可能会找到一个货币转换网站,该网站使用您可以在搜索中使用的漂亮 class 名称。
事实上看API,这应该足够了:
print(soup_packtpage.find(text="Danish Krone").findNext('td').string)
因为 string
查看标签的所有子项。
我正在尝试 download/scrape 网站上丹麦克朗对美元的汇率。我已经设法几乎到达那里。但是这段代码returns比我需要的浮点数多了
#!/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])
但是这段代码returns比我需要的浮点数还多。 它 returns 这个烂摊子:
<a href="/graph/?from=USD&to=DKK">7.019776</a>
有人能告诉我如何从这个浮点结果中剥离字符串,以便我可以将它存储为变量吗?
我猜你想要另一个 findNext('a')
在你的内容之前。你想保持汇率,因为它本身不是一种货币(例如,它的精度不需要是 2sf。)。
例如:
USD Krone
.00 kr.7.02
00 kr.7019.78
我不熟悉 Beautiful soup 但这就是我要尝试的。
或者可能会找到一个货币转换网站,该网站使用您可以在搜索中使用的漂亮 class 名称。
事实上看API,这应该足够了:
print(soup_packtpage.find(text="Danish Krone").findNext('td').string)
因为 string
查看标签的所有子项。