如何从列表

时间:2017-09-25 15:41:15

标签: python-3.x web-scraping

我在游戏上开始了一个侧面项目,目前有以下代码:

import urllib.request
import re

# Thats the link I would like to extract the numbers from
htmllink =  urllib.request.urlopen("http://currency.poe.trade/search?league=Hardcore+Harbinger&online=x&want=1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-23&have=3")

htmltext = htmllink.read().decode('utf-8')
regex = '<small>(.+?)<div class="currencyimg cur20-3"></div>(.+?)<div class="currencyimg cur20-4"></div></small>'
#regex = '<div class="displayoffer-middle">(.+?)</div>'
pattern = re.compile(regex)

price = re.findall(pattern,htmltext)
print(price[0])

尝试使用货币转换器时,我得到以下信息:

('1 &#10799; ', ' &rarr; 0.1429 &#10799; ')

我只需要输出中的10.1429,我想与它们一起进行计算,但我无法将它们从列表中提取出来。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以修改正则表达式以查找确切的值。这是一个丑陋的varian:

regex = '<small>(.+?) &#10799; <div class="currencyimg cur20-3"></div> &rarr; (.+?) &#10799; <div class="currencyimg cur20-4"></div></small>'

不要忘记将它们转换为int,float或Decimal以用于计算。