我正在努力抓住一个投注网站获取赔率作为我的第一个网络抓取项目。到目前为止,我已经成功地删除了我想要的内容,现在有了这样的数组
[<b>+5\xbd\xa0-110</b>, <b>-5\xbd\xa0-110</b>]
[<b>+6\xa0-115</b>, <b>-6\xa0-105</b>]
[<b>+6\xa0-115</b>, <b>-6\xa0-105</b>]
有没有办法可以拉出-105/110/115?我正在寻找的数字是</b>
左侧的3个数字,我还需要在三个数字的左侧包含正号或负号。我需要使用正则表达式吗?
非常感谢!
答案 0 :(得分:0)
正则表达式将起作用,具体取决于这是否是数字所在的唯一格式。
另外,您知道是否显示正号或只显示负号?
如果确实显示出正面......
([+-][\d]{3})<\/b>
如果它没有显示出积极的用途......
([+-]?[\d]{3})<\/b>
您应该能够提取圆括号内的内容。
编辑:您可能想要执行以下操作。此代码将从列表中获取每个字符串,然后对字符串执行正则表达式搜索。它会将结果附加到nums列表中。结果将是一个带有符号的3位数字,因为它会提取圆括号内的第一组。
import re
nums = []
for line in odds:
result = re.search(('[+-][\d]{3})<\/b>',line)
nums.append(result.group(1)))
print (nums)