Próbuję usunąć \ r \ n \ t znaków z pająka scrapy, tworząc plik json.Strip n t r w scrapy
Mam obiekt "description", który jest pełen nowych linii i nie robi tego, co chcę: dopasowanie każdego opisu do tytułu.
Próbowałem z mapą (unicode.strip()), ale tak naprawdę nie działa. Będąc nowicjuszem w scrapy, nie wiem, czy jest inny prostszy sposób lub jak naprawdę działa kod Unicode.
To jest mój kod:
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())
Próbowałem również z:
item['DESCRIPTION'] = str(sel.xpath('//p[@class="class-name"]/text()').extract()).strip()
Ale podniesiony błąd. Jaki jest najlepszy sposób?
Witam, co masz na myśli mówiąc "to tak naprawdę nie działa"? 'strip()' uwzględnia tylko znaki wiodące i końcowe, więc jeśli chcesz usunąć wszystko, co znajduje się wewnątrz łańcucha, potrzebujesz innego sposobu. 'import re' i' re.sub ('[\ r \ n \ t]', '', 'Hel \ nlo \ r!') 'może pomóc, jeśli to jest twój problem. –
Proponuję wypróbować 'ItemLoader's http://doc.scrapy.org/en/latest/topics/loaders.html, które pozwolą Ci zarządzać wejściami i wyjściami Twojego produktu' Item's – Granitosaurus
QuentinPradet dzięki, w rzeczywistości Paulowi odpowiedź była dobra, nie wiedziałem o tym. I Granitosaurus Będę studiować, że dzięki –