Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scrapy Xpath中的逃逸美元符号_Python_Regex_Xpath_Scrapy_Scrapy Spider - Fatal编程技术网

Python Scrapy Xpath中的逃逸美元符号

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中的表示形式看起来有所不同。但除

使用“刮痧蜘蛛”及其拉错的价格输出

HTML:

结果:

'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']