从网站中提取文本时如何保留 $、£ 等特殊字符?



我正在使用scrapy来抓取一个示例网站。这是图书报价网页。为了提取数据,我使用了xpath选择器。特别是为了获得特定书籍的价格,我使用以下xpath-//*[@id="default"]/div[1]/div/div/div/section/div[2]/ol/li[1]/article/div[2]/p[1]/text()

现在,当我提取价格时,由于我使用.get(),所以省略了£符号。我假设.get()返回Unicode,从而返回字符u00a3。我阅读了这个类似问题的答案,但由于示例使用extract而不是get,所以无法理解。我也尝试过使用注释中提到的.encode(),但返回了一个空的JSON。请告知。

将其放在蜘蛛中start_urls下方

custom_settings = { 'FEED_EXPORT_ENCODING' : 'utf-8' } 

JSON不会自动编码为utf-8,您必须设置这一点。

最新更新