Como remover o espaço em branco em dados de aranha Scrapy
Estou escrevendo minha primeira aranha em Scrapy e tentando seguir a documentação. Eu implementei o ItemLoaders. A aranha extrai os dados, mas os dados contêm muitos retornos de linha. Eu tentei muitas maneiras de removê-los, mas nada parece funcionar. O utilitário replace_escape_chars deve funcionar, mas não consigo descobrir como usá-lo com oItemLoader
. Também algumas pessoas usam (unicode.strip), mas, novamente, eu não consigo fazer funcionar. Algumas pessoas tentam usá-las em items.py e outras na aranha. Como posso limpar os dados desses retornos de linha (\ r \ n)? Meu arquivo items.py contém apenas os nomes dos itens e o campo (). O código da aranha está abaixo:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.loader import XPathItemLoader
from scrapy.utils.markup import replace_escape_chars
from ccpstore.items import Greenhouse
class GreenhouseSpider(BaseSpider):
name = "greenhouse"
allowed_domains = ["domain.com"]
start_urls = [
"http://www.domain.com",
]
def parse(self, response):
items = []
l = XPathItemLoader(item=Greenhouse(), response=response)
l.add_xpath('name', '//div[@class="product_name"]')
l.add_xpath('title', '//h1')
l.add_xpath('usage', '//li[@id="ctl18_ctl00_rptProductAttributes_ctl00_liItem"]')
l.add_xpath('repeat', '//li[@id="ctl18_ctl00_rptProductAttributes_ctl02_liItem"]')
l.add_xpath('direction', '//li[@id="ctl18_ctl00_rptProductAttributes_ctl03_liItem"]')
items.append(l.load_item())
return items