【问题标题】:Remove special characters in scrapy xpath删除scrapy xpath中的特殊字符
【发布时间】:2020-03-17 18:28:51
【问题描述】:

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

价格来自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('', '', '.,$()'))

【问题讨论】:

    标签: python regex web-scraping scrapy


    【解决方案1】:

    使用 .replace()

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

    【讨论】:

    • 优秀。非常简单易行。
    【解决方案2】:

    使用正则表达式。

    例如:

    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
    

    【讨论】:

      猜你喜欢
      • 2015-08-22
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      相关资源
      最近更新 更多