从字节d中提取一些数字

2024-04-19 17:03:18 发布

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

我是新的网络报废。在使用以下行删除一些网站之后:

x1 = urllib.request.urlopen('somewebsite1').read()
x2 = urllib.request.urlopen('somewebsite2').read()
x3 = urllib.request.urlopen('somewebsite3').read()

我有以下数据:

In [14]:print(x1)
b'<li><span class="Price down2">0.071&nbsp;</span></li>'

In [15]:print(x2)
b'<li><span class="Price up2">0.059&nbsp;</span></li>'

In [16]:print(x3)
b'<li><span class="Price down2">0.079&nbsp;</span></li>'

x1、x2和x3的数据类型是字节。我想从x1,x2和x3中提取0.071,0.059,0.079作为浮点数。Python是怎么做的

先谢谢你

编辑:为了更好的展示


Tags: inreadrequestliurllibpriceclassurlopen
1条回答
网友
1楼 · 发布于 2024-04-19 17:03:18

可以使用正则表达式:

import re
x1_extracted = re.findall('(?<=>)\d+\.*\d*', x1.decode('utf-8'))
x1_extracted = float(x1_extracted[0])

首先,您需要解码字节序列(将其从字节转换为字符串)。我假设编码是utf-8)。然后可以使用re模块来查找值。这个表达式的意思是:一步一步地查找一个或多个数字(\d+),可选地后跟一个点(\.*),可选地后跟多个数字(\d*)。所有这些都应该以>(?<=>))开头

相关问题 更多 >