私は\ r \ n \ t文字をスクラピースパイダーでストリップしようとしています。治療中のストリップ n t r
私は新しい行でいっぱいであり、私が望むことをしない "記述"オブジェクトを持っています:各記述をタイトルに一致させます。
マップ(unicode.strip())で試しましたが、実際には動作しません。病院に新しいことは、別の簡単な方法があるかどうか、または地図のUnicodeが実際にどのように機能するかわかりません。
これは私のコードです:
def parse(self, response):
for sel in response.xpath('//div[@class="d-grid-main"]'):
item = xItem()
item['TITLE'] = sel.xpath('xpath').extract()
item['DESCRIPTION'] = map(unicode.strip, sel.xpath('//p[@class="class-name"]/text()').extract())
私にも試してみました:
item['DESCRIPTION'] = str(sel.xpath('//p[@class="class-name"]/text()').extract()).strip()
しかし、それはエラーが発生しました。何が最善の方法ですか?
こんにちは、「実際には機能しません」とはどういう意味ですか? 'strip()'は先頭と末尾の文字しか考慮しないので、文字列の中にあるものを取り除きたい場合は別の方法が必要です。それがあなたの問題なら、 're re(' [\ r \ n \ t] '、' '、' Hel \ nlo \ r! –
私は 'ItemLoader'のhttp://doc.scrapy.org/en/latest/topics/loaders.htmlをチェックアウトして' Item'sの入力と出力を管理することをお勧めします – Granitosaurus
QuentinPradetありがとう、実際にはポール答えはよかった、私はそれを知らなかった。そしてGranitosaurus私はその感謝を勉強します –