【发布时间】:2013-12-21 08:57:13
【问题描述】:
我正在尝试选择页面上的项目:
http://www.betterware.co.uk/catalog/product/view/id/4530/category/342/
使用 XPath 的变体,例如:
sel.xpath('//div[@class="price-box"]/span[@class="regular-price"]/span[@class="price"]/text()').extract()
我正在查看的 html 源代码是:
<div class="price-box">
<span class="regular-price" id="product-price-4530">
<span class="price">£12.99</span>
</span>
</div>
我没有得到正确的[u'£12.99'],而是得到了一堆甚至没有出现在页面源代码中的其他数字。 Scrapy shell 给出:
[u'\xa312.99',
u'\xa38.99',
u'\xa38.99',
u'\xa34.49',
u'\xa34.49',
u'\xa329.99',
u'\xa329.99']
我以这种方式选择其他项目没有问题,但是这个和我所有的其他价格字段正在遭受价格文本的这些神秘结果。有人可以在这里为我阐明一下吗?我的项目选择python代码是:
def parse_again(self, response):
sel = Selector(response)
meta = sel.xpath('//div[@class="product-main-info"]')
items = []
for m in meta:
item = BetterItem()
item['link'] = response.url
item['item_name'] = m.select('//div[@class="product-name"]/h1/text()').extract()
item['sku'] = m.select('//p[@class="product-ids"]/text()').extract()
item['price'] = m.select('//div[@class="price-box"]/span/span/text()').extract()
items.append(item)
return items
【问题讨论】: