Jak usunąć białą przestrzeń w danych pająka Scrapy
Piszę mojego pierwszego pająka w Scrapy i próbuję postępować zgodnie z dokumentacją. Zaimplementowałem narzędzia ItemLoader. Pająk wyodrębnia dane, ale dane zawierają wiele zwrotów linii. Próbowałem ich usunąć na wiele sposobów, ale nic nie działa. Narzędzie replace_escape_chars powinno działać, ale nie wiem, jak z niego korzystaćItemLoader
. Także niektórzy ludzie używają (unicode.strip), ale znowu nie mogę tego zrobić. Niektórzy próbują ich używać w item.py i innych w pająku. Jak mogę wyczyścić dane z tych zwrotów wierszy (r n)? Mój plik items.py zawiera tylko nazwy elementów i pole (). Kod spider jest poniżej:
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