Python Scrapy Xpath中的逃逸美元符号
使用“刮痧蜘蛛”及其拉错的价格输出 HTML: 结果:Python Scrapy Xpath中的逃逸美元符号,python,regex,xpath,scrapy,scrapy-spider,Python,Regex,Xpath,Scrapy,Scrapy Spider,使用“刮痧蜘蛛”及其拉错的价格输出 HTML: 结果: 'price': [u'\u20ac300] 似乎是价格中的“$”引起了问题。我一直在挖掘,我似乎找不到一个答案,我认为这是一个共同的问题,这让我认为这可能是我错过的更多 非常感谢您的帮助 使用re代替提取: ['price'] = sel.xpath('.../span[1]/text())').re('\d+') Casimir et Hippolyte是正确的,检索到了正确的结果,但它在Python中的表示形式看起来有所不同。但除
'price': [u'\u20ac300]
似乎是价格中的“$”引起了问题。我一直在挖掘,我似乎找不到一个答案,我认为这是一个共同的问题,这让我认为这可能是我错过的更多
非常感谢您的帮助 使用re代替提取:
['price'] = sel.xpath('.../span[1]/text())').re('\d+')
Casimir et Hippolyte是正确的,检索到了正确的结果,但它在Python中的表示形式看起来有所不同。但除此之外,您的XPath表达式并不理想 尽量不要依赖冗长的位置XPath表达式,当HTML文档发生微小更改时,它们很容易中断 相反,尝试通过元素的属性查找元素。也许这个类属性的组合是唯一的?比如说
//span[@class = 'b-product_price-standard b-product_price-standard--line_through']
我可以工作。如果没有,则必须显示更多要从中选择的HTML文档。结果是正确的(并且是欧元),这只是用unicode代码点表示ascii范围之外的字符的一种方法。请尝试打印(u'\u20ac300')。点击此链接:@casimirithippolyte谢谢!我都没想到。
['price'] = sel.xpath('.../span[1]/text())').re('\d+')
//span[@class = 'b-product_price-standard b-product_price-standard--line_through']