Scrapy - Rastrear várias páginas por item

Eu estou tentando rastrear algumas páginas extras por item para pegar algumas informações de localização.

No final do item antes do retorno, verifico se precisamos rastrear páginas extras para obter as informações. Essencialmente, essas páginas contêm alguns detalhes de local e são uma solicitação simples de obtenção.

Ou sejahttp://site.com.au/MVC/Offer/GetLocationDetails/?locationId=3761&companyId=206

O link acima retorna um select com mais páginas para rastrear - ou um dd / dt com os detalhes do endereço. De qualquer forma, eu preciso extrair essa informação de endereço e anexá-la ao meu item ['locations']

Até agora eu tenho (no final do bloco de análise)

return self.fetchLocations(locations_selector, company_id, item)

locations_selector contém uma lista de locationIds

Então eu tenho

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})

E 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 não consigo fazer isso funcionar ...

questionAnswers(1)

yourAnswerToTheQuestion