Scrapy - Rastrear múltiples páginas por artículo

Estoy intentando rastrear algunas páginas adicionales por elemento para obtener información de ubicación.

Al final del artículo, antes de devolverlo, verifico si necesitamos rastrear páginas adicionales para obtener la información, esencialmente estas páginas contienen algunos detalles de ubicación y son una simple solicitud de obtención.

Es decir.http://site.com.au/MVC/Offer/GetLocationDetails/?locationId=3761&companyId=206

El enlace anterior devuelve una selección con más páginas para rastrear, o un dd / dt con los detalles de la dirección. De cualquier manera, necesito extraer la información de esta dirección y adjuntarla a mi elemento ['ubicaciones']

Hasta ahora tengo (al final del bloque de análisis)

return self.fetchLocations(locations_selector, company_id, item)

locations_selector contiene una lista de locationIds

Luego tengo

def fetchLocations(self, locations, company_id, item): #response):
    for location in locations:
        if len(location)>1:
            yield Request("http://site.com.au/MVC/Offer/GetLocationDetails/?locationId="+location+"&companyId="+company_id,
            callback=self.parseLocation,
                meta={'company_id': company_id, 'item': item})

Y finalmente

def parseLocation(self,response):
    hxs = HtmlXPathSelector(response)
    item = response.meta['item']

    dl = hxs.select("//dl")
    if len(dl)>0:
        address = hxs.select("//dl[1]/dd").extract()
        loc = {'address':remove_entities(replace_escape_chars(replace_tags(address[0], token=' '), replace_by=''))}
        yield loc

    locations_select = hxs.select("//select/option/@value").extract()
    if len(locations_select)>0:
        yield self.fetchLocations(locations_select, response.meta['company_id'], item)

Parece que no puedo hacer que esto funcione ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta