Scrapy中的正则表达式“\ xa0”

时间:2016-12-28 13:28:56

标签: python scrapy

HTML:

<div>数量:100-200个&nbsp;&nbsp;&nbsp;&nbsp;</div>

我想获得100-200个

分析:

response.xpath('/html/body/div/text()').re_first('数量:(.+)\s$')

结果:

100-200个\xa0\xa0\xa0

html中有4 &nbsp,结果中有3 \xa0,我只想获得100-200个,不包含3 \xa0,如何修改re_first('数量:(.+)\s$')

中的正则表达式

2 个答案:

答案 0 :(得分:0)

您的用例似乎对此文本非常具体。您可能会遇到与不同文本类似的问题。如果你不构建一个更通用的正则表达式。

以下代码将解决您的问题:

import re

a = """<div>数量:100-200个&nbsp;&nbsp;&nbsp;&nbsp;</div>"""

m = re.search('数量:(.+?)\&.*$',a)

m.group(1)

输出:

'100-200个'

答案 1 :(得分:0)

我认为你应该使用类似的东西在正则表达式之外工作:

response.xpath('/html/body/div/text()').re_first('数量:(.+)\s$').strip()
相关问题