2017-09-27 1 views
1

Je suis juste en train d'apprendre comment utiliser scrapy mais j'ai du mal à utiliser ma première araignée. C'est mon code mais il n'extrait pas de données! Pourriez-vous s'il vous plaît m'aider :)ne peut extraire aucune donnée avec ce code en utilisant scrapy

import scrapy 

    class Housin(scrapy.Spider): 
     name ='housin' 
     star_urls = ['http://www.metrocuadrado.com/apartamento/venta/bogota/usado/'] 

     def parse (self,response): 
      for href in response.css('a.data-details-id::attr(href)'): 
       yield response.follow(href, self.parse_livi) 

     def parse_livi(self,response): 
      yield { 
       'latitude': response.xpath('//input[@id="latitude"]/@value').extract_first(), 
       'longitud': response.xpath('//input[@id="longitude"]/@value').extract_first(), 
       'price': response.xpath('//dd[@class="important"]/text()').extract_first(), 
       'Barrio_com': response.xpath('.//dl/dt[h3/text()="Nombre común del barrio "]/following-sibling::dd[1]/h4/text()').extract_first(), 
       'Barrio_cat': response.xpath('.//dl/dt[h3/text()="Nombre del barrio catastral"]/following-sibling::dd[1]/h4/text()').extract_first(), 
       'Estrato': response.xpath('.//dl/dt[h3/text()="Estrato"]/following-sibling::dd[1]/h4/text()').extract_first(), 
       'id': response.xpath('//input[@id="propertyId"]/@value').extract_first() 
       } 
+0

Avez-vous regardé l'éraflure connectez-vous pour vérifier qu'il est en train de crawler et suivre les URL et que vos instructions de chemin sont correctes ... Sans parler de quelqu'un qui déboguerait cela pour vous - vous pourriez le localiser vous-même assez facilement - regardez les journaux, mettez des impressions pour chacun des éléments ré essayant d'extraire etc ... :) –

Répondre

1

Votre problème est que votre grattoir ne démarre pas du tout. Ci-dessous

star_urls = ['http://www.metrocuadrado.com/apartamento/venta/bogota/usado/'] 

devrait être

start_urls = ['http://www.metrocuadrado.com/apartamento/venta/bogota/usado/'] 

Cette typo (manque t) provoque scrapy de ne pas trouver une url de départ et d'où le grattage ne démarre pas du tout

+0

merci beaucoup !! Je suis désolé, je suis nouveau à la programmation –