Diferencia de la araña de Scrapy entre las páginas rastreadas y los elementos raspados

Estoy escribiendo un Scrapy CrawlSpider que lee una lista de anuncios publicitarios en la primera página, toma información como los pulgares de los listados y las direcciones URL de anuncios, luego envía una solicitud a cada una de estas direcciones URL de anuncios para que tomen sus detalles.

Estaba funcionando y paginando aparentemente bien en el entorno de prueba, pero hoy, tratando de hacer una ejecución completa, me di cuenta de que en el registro:

Rastreo 3852 páginas (a 228 páginas / min), raspado 256 artículos (a 15 artículos / min)

No entiendo la razón de esta gran diferencia entre las páginas rastreadas y los elementos raspados. ¿Alguien me puede ayudar a darme cuenta de dónde se pierden esos artículos?

Mi código de araña:

class MySpider(CrawlSpider): name = "myspider" allowed_domains = ["myspider.com", "myspider.co"] start_urls = [ "http://www.myspider.com/offers/myCity/typeOfAd/?search=fast", ] #Pagination rules = ( Rule ( SgmlLinkExtractor() , callback='parse_start_url', follow= True), ) #1st page def parse_start_url(self, response): hxs = HtmlXPathSelector(response) next_page = hxs.select("//a[@class='pagNext']/@href").extract() offers = hxs.select("//div[@class='hlist']") for offer in offers: myItem = myItem() myItem['url'] = offer.select('.//span[@class="location"]/a/@href').extract()[0] myItem['thumb'] = oferta.select('.//div[@class="itemFoto"]/div/a/img/@src').extract()[0] request = Request(myItem['url'], callback = self.second_page) request.meta['myItem'] = myItem yield request if next_page: yield Request(next_page[0], callback=self.parse_start_url) def second_page(self,response): myItem = response.meta['myItem'] loader = myItemLoader(item=myItem, response=response) loader.add_xpath('address', '//span[@itemprop="streetAddress"]/text()') return loader.load_item() 

Digamos que vas a tus primeros start_urls (en realidad solo tienes uno) y en esta página solo hay un enlace de anclaje ( ). Así que su araña rastrea la url href en este enlace y usted obtiene el control en su callback, parse_start_url . Y dentro de esta página tienes 5000 hlist con una clase hlist . Y supongamos que todas las 5000 de estas URL subsiguientes fueron devueltas 404, no encontradas.

En este caso tendrías:

  • Páginas rastreadas: 5001
  • Artículos raspados: 0

Tomemos otro ejemplo: en su página de inicio de url tiene 5000 anclajes, pero ninguno (como en cero) de esas páginas tiene divs con un parámetro de clase de hlist .

En este caso tendrías:

  • Páginas rastreadas: 5001
  • Artículos raspados: 0

Su respuesta se encuentra en la salida de registro DEBUG.