Ich habe ein Skript in Python Scrapy geschrieben, um einige Elemente aus der Preisvergleich Website zu analysieren. Ich bin nicht zufrieden mit dem Ergebnis, weil Skript alle Ergebnisse in einer Reihe bleiben wie:Scrapy: Wie in mehreren Zeilen für jede Daten ausgegeben werden
price,seller
"4,4,4,4,4,4,4,4,4,4","Opinie o ewitaldo.pl,Opinie o dobrazielarnia.pl,Opinie o brokulek.pl,Opinie o delikatesyznatury.pl,Opinie o bialastokrotka.pl,Opinie o aleeko.pl,Opinie o aptekamini.pl,Opinie o farmeko24.pl,Opinie o straganzdrowia.pl,Opinie o bdsklep.pl"
und was ich brauche ist:
price,seller
4,Opinie o ewitaldo.pl
4,Opinie o dobrazielarnia.pl
4,Opinie o brokulek.pl
4,Opinie o delikatesyznatury.pl
4,Opinie o bialastokrotka.pl
4,Opinie o aleeko.pl
4,Opinie o aptekamini.pl
4,Opinie o farmeko24.pl
4,Opinie o straganzdrowia.pl
4,Opinie o bdsklep.pl
Hier ist meine Spinne Code:
import scrapy
from ceneo.items import CeneoItem
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'https://www.ceneo.pl/33022301'
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
items = CeneoItem()
sale_price = response.xpath('(//td[@class="cell-price"] /a/span/span/span[@class="value"]/text())[position() <= 10]').extract()
seller = response.xpath('(//tr/td/div/ul/li/a[@class="js_product-offer-link"]/text())[position()<=10]').extract()
items['product_sale_price'] = ''.join(sale_price).strip()
items['product_seller'] = ''.join(seller).strip()
yield {'price': sale_price, 'seller': seller}
Was sollte geändert werden, um eine nette CSV-Ausgabe zu erhalten?
Sie die sale_price und Verkäuferdaten laufen können dann als eine einzige Liste beizutreten. –
Ich bin total noob, können Sie Beispielcode schreiben? – Bodhistawa