所以对于20+的网站,我有这个蜘蛛爬行通过,所有的价格项目收益刚刚好。。。然而,在这个特定的站点(https://www.garrafeiranacional.com/)上有一个非常恼人的问题。。你知道吗
当我从特定产品中提取价格信息时,在没有任何mapcose/Regex清理的情况下自然返回的信息是这样的:
在你问之前,我已经尝试了我能想到的每一种组合,通常我会这样做:
productLoader.add_xpath('blah', 'blah', MapCompose(lambda i: i.lstrip(punctuation)
.strip().replace('"', '').replace('.', ','), re = '[^\\d]+'))
甚至尝试正则表达式,比如:
我甚至试过用回复sub()在MapCompose中,例如:
因此,我假设问题是这个网站使用的编码,因为我在网站上抓取的一点信息,其中有一个空格,会产生相同的奇怪的\xa0字符串。。。我试着从价格中去掉空白,但似乎没有什么效果。如果有人对我应该去哪里等有什么想法,我很乐意听他们说
\xa0
只是一个non-breaking space。你知道吗例如,在this page上,下面是一些包含价格值的HTML:
如果您选择使用
<span class="price">7 490,00 €</span>
来获取价格,只需将'\xa0'
替换为' '
或空字符串:另一个可能更容易在程序中消化的选项是使用页面中该价格信息的其他位置。在上面的同一个HTML片段中,您可以看到:
它也在
<head>
部分:相关问题 更多 >
编程相关推荐