删除scrapy xpath中的特殊字符

时间:2019-11-21 18:24:39

标签: python regex web-scraping scrapy

许多小时后似乎无法完成。我正在尝试编辑脚本。

来自scrapy = $123,456的价格 我需要的是123456。

我已经尝试过了,但是遇到了属性错误等。

price_txt = response.xpath(".//dt[contains(text(), 'List Price')]/following-sibling::dd/text()").extract_first()


price = price_txt.translate(str.maketrans('', '', '.,$()'))

2 个答案:

答案 0 :(得分:2)

使用.replace()

price_txt = response.xpath(".//dt[contains(text(), 'List Price')]/following-sibling::dd/text()").extract_first()


price = price_txt.replace('$', '').replace(',', '')

答案 1 :(得分:1)

使用正则表达式。

例如:

import re

price_txt = "$123,456"
print(re.sub(r"[^\d]", "", price_txt))

str.isdigit

例如:

print("".join(i for i in price_txt if i.isdigit()))

输出:

123456
123456