tutorial span selectors extractfirst example espaƱol python scrapy

python - span - Scrapy crawler, quitando la coma de la cuerda



show scrapy version (2)

def parse_item(self, response): for jobs in response.xpath(''//div[@itemtype="http://schema.org/JobPosting"]''): item = IndeedCoUkItem() item["jobtitle"] = jobs.xpath(''*[@class="jobtitle"]/a//text()'').extract() yield item

elemento guardado en un archivo CSV como,

título profesional

"Senior, Embedded, Software, Engineer"

Hola,

Lo anterior es un fragmento del código del rastreador de mi scrapy. Me gustaría tener la salida en coma y espacio en blanco gratis. Eso es de "Senior, Embedded, Software, Engineer" para este "Senior Embedded Software Engineer". Intenté usar replace () como ..extract () [0] .replace (",", ""), pero no funcionó. Cualquier ayuda / sugerencia?


¿ item[''jobtitle] imprimir / registrar la lista que entra en el campo del item[''jobtitle] ? Si se trata de una lista (bueno, es una lista), la exportación a un archivo CSV convierte esta lista en una entrada separada por comas.

Intenta ver el resultado y únete a la lista en uno:

item["jobtitle"] = '' ''.join(jobs.xpath(''*[@class="jobtitle"]/a//text()'').extract())

Si los elementos contienen espacios en blanco adicionales pero no todos, puede usar el map y strip los elementos:

item["jobtitle"] = '' ''.join(map(unicode.strip,jobs.xpath(''*[@class="jobtitle"]/a//text()'').extract()))

Esto recorre todos los elementos y los separa de los espacios en blanco al principio y al final.

Alternativamente, puede usar normalize-space de XPath:

item["jobtitle"] = '' ''.join(jobs.xpath(''normalize-space(*[@class="jobtitle"]/a//text())'').extract())


item["jobtitle"] = (jobs.xpath(''*[@class="jobtitle"]/a//text()'').extract()).replace('','', '''')