単一のスプラッシュではなく、ダブルスプラッシュを挿入する必要があります。
response.xpath('//span[@class="price"]//text()').extract()
このステートメントは、指定されたタグの下のすべてのテキストをリストオブジェクトとして返します。 返されるリストには、空または返送キャリッジ文字のような無駄な要素がいくつかあることに注意してください。 価格情報のみを抽出する場合は正規表現を使用できます。
response.xpath('//span[@class="price"]//text()').re(r'[\d.,]+')
通貨記号は無視されました。最後に
['255,','99','255']
あなたが最初にすべての製品を取得
''.join(response.xpath('//span[@class="price"][1]//text()').re(r'[\d.,]+')).replace(",",".")
ページから255.99を取得したい場合。
決勝コード:
products = response.xpath('//*[@class="catalog-table"]//td')
for prod in products:
price = ''.join(prod.xpath('//span[@class="price"][1]//text()').re(r'[\d.,]+')).replace(",",".")
print price
が、どのように一つのフィールドにそれらを結合するには? – user3237444