Scrapy: копирование в CSV-файл - получение неорганизованного CSV-файла - PullRequest
0 голосов
/ 03 октября 2019

Я реализую следующий код в spider для очистки обуви с веб-сайта электронной коммерции.

 import scrapy

 class HugobossSpider(scrapy.Spider):
 name = 'hugoboss'
 allowed_domains = ['hugoboss.com/de/boss-herren-neuheiten-schuhe/']
 start_urls = ['http://hugoboss.com/de/boss-herren-neuheiten-schuhe//']

     def parse(self, response):
     #Extracting the content using css selectors
     url = response.xpath('//div/@data-mouseoverimage').extract()  
     product_title = response.xpath('//*[@class="product-tile__productInfoWrapper product-tile__productInfoWrapper--is-small font__subline"]/text()').extract()
     price = response.css('.product-tile__offer .price-sales::t Zext').getall()  
     #Give the extracted content row wise
     for item in zip(url,product_title,price):
         #create a dictionary to store the scraped info
         scraped_info = {
             'url' : item[0],
             'product_title' : item[1],
             'price' : item[2]
         }

И оболочка возвращает вывод, как обычно,

https://imgur.com/a/HJ1U78M

Но выходной CSV-файл выглядит таким неорганизованным, как этот:

https://imgur.com/a/9qpnWeE

Я не понимаю, где происходит проблема.

1 Ответ

0 голосов
/ 03 октября 2019

Похоже, ваш скребок подобрал кучу символов новой строки (\n) вместе с названием продукта.

Кажется также, что оно подбирает слово von, которое, как я полагаю, тоже не нужно.

Мое предложение было бы сделать некоторые манипуляции со строками, чтобы избавиться от них: product_title.replace("\n", '').replace("von", "")

Причина, по которой лучше всего использовать .replace(x,y), заключается в том, что .strip()/.lstrip()/.rstrip() удалит соответствующие символы в строке и может удалить необходимые символы из названия вашего продукта.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...