operaciones - exportar datos de python a un archivo csv
operaciones con archivos csv python (1)
Supongo que estás recibiendo estos errores:
ERROR: Spider must return Request, BaseItem, dict or None, got ''tuple'' in <GET http://www.tunisianet.com.tn/466-consoles-jeux>
que especifica qué está mal, devuelve tuplas como elementos, cambie su código de rendimiento a:
...
item[''prix''] = response.xpath(''//*[contains(@class, "price")]/text()'').extract()[i]
yield item
Estoy tratando de exportar mi archivo a través de la línea de comando:
scrapy crawl tunisaianet -o save.csv -t csv
pero nada está sucediendo, ¿alguna ayuda?
aquí está mi código:
import scrapy
import csv
from tfaw.items import TfawItem
class TunisianetSpider(scrapy.Spider):
name = "tunisianet"
allowed_domains = ["tunisianet.com.tn"]
start_urls = [
''http://www.tunisianet.com.tn/466-consoles-jeux/'',
]
def parse(self, response):
item = TfawItem()
data= []
out = open(''out.csv'', ''a'')
x = response.xpath(''//*[contains(@class, "ajax_block_product")]'')
for i in range(0, len(x)):
item[''revendeur''] = response.xpath(''//*[contains(@class, "center_block")]/h2/a/@href'').re(''tunisianet'')[i]
item[''produit''] = response.xpath(''//*[contains(@class, "center_block")]/h2/a/text()'').extract()[i]
item[''url''] = response.xpath(''//*[contains(@class, "center_block")]/h2/a/@href'').extract()[i]
item[''description''] = response.xpath(''//*[contains(@class, "product_desc")]/a/text()'').extract()[i]
item[''prix''] = response.xpath(''//*[contains(@class, "price")]/text()'').extract()[i]
data = item[''revendeur''], item[''produit''], item[''url''], item[''description''], item[''prix'']
yield data
out.write(str(data))
out.write(''/n'')