Scrapy no rastrea las páginas posteriores en orden.

Estoy escribiendo un rastreador para obtener los nombres de los elementos de un sitio web. El sitio web tiene 25 elementos por página y varias páginas (200 para algunos tipos de elementos).

Aquí está el código:

from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from lonelyplanet.items import LonelyplanetItem

class LonelyplanetSpider(CrawlSpider):
    name = "lonelyplanetItemName_spider"
    allowed_domains = ["lonelyplanet.com"]
    def start_requests(self):
        for i in xrange(8):
            yield self.make_requests_from_url("http://www.lonelyplanet.com/europe/sights?page=%d" % i)

def parse(self, response):
    hxs = HtmlXPathSelector(response)
    sites = hxs.select('//h2')
    items = []
    for site in sites:
        item = LonelyplanetItem()
        item['name'] = site.select('a[@class="targetUrl"]/text()').extract()
        items.append(item)
    return items

Cuando ejecuto el rastreador y almaceno los datos en formato csv, los datos no se almacenan en orden, es decir, los datos de la página 2 se almacenan antes de que la página 1 o la página 3 se almacenen antes de la página 2 y de manera similar. También a veces, antes de que todos los datos de una página en particular se almacenen, los datos de otra página entran y luego el resto de los datos de la página anterior se almacenan nuevamente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta