Siguiendo el hipervínculo y “Solicitud externa filtrada”

Sé que hay varios hilos relacionados y me han ayudado mucho, pero todavía no puedo llegar hasta el final. Estoy en el punto donde ejecutar el código no produce errores, pero no obtengo nada en mi archivo csv . Tengo la siguiente araña de Scrapy que comienza en una página web, luego sigue un hipervínculo y raspa la página vinculada:

 from scrapy.http import Request from scrapy.spider import BaseSpider from scrapy.selector import HtmlXPathSelector from scrapy.item import Item, Field class bbrItem(Item): Year = Field() AppraisalDate = Field() PropertyValue = Field() LandValue = Field() Usage = Field() LandSize = Field() Address = Field() class spiderBBRTest(BaseSpider): name = 'spiderBBRTest' allowed_domains = ["http://boliga.dk"] start_urls = ['http://www.boliga.dk/bbr/resultater?sort=hus_nr_sort-a,etage-a,side-a&gade=Septembervej&hus_nr=29&ipostnr=2730'] def parse2(self, response): hxs = HtmlXPathSelector(response) bbrs2 = hxs.select("id('evaluationControl')/div[2]/div") bbrs = iter(bbrs2) next(bbrs) for bbr in bbrs: item = bbrItem() item['Year'] = bbr.select("table/tbody/tr[1]/td[2]/text()").extract() item['AppraisalDate'] = bbr.select("table/tbody/tr[2]/td[2]/text()").extract() item['PropertyValue'] = bbr.select("table/tbody/tr[3]/td[2]/text()").extract() item['LandValue'] = bbr.select("table/tbody/tr[4]/td[2]/text()").extract() item['Usage'] = bbr.select("table/tbody/tr[5]/td[2]/text()").extract() item['LandSize'] = bbr.select("table/tbody/tr[6]/td[2]/text()").extract() item['Address'] = response.meta['address'] yield item def parse(self, response): hxs = HtmlXPathSelector(response) PartUrl = ''.join(hxs.select("id('searchresult')/tr/td[1]/a/@href").extract()) url2 = ''.join(["http://www.boliga.dk", PartUrl]) yield Request(url=url2, meta={'address': hxs.select("id('searchresult')/tr/td[1]/a[@href]/text()").extract()}, callback=self.parse2) 

Estoy tratando de exportar los resultados a un archivo csv, pero no obtengo nada del archivo. Ejecutar el código, sin embargo, no produce ningún error. Sé que es un ejemplo simple con una sola URL, pero ilustra mi problema.

Creo que mi problema podría ser que no le estoy diciendo a Scrapy que quiero guardar los datos en el método Parse2 .

Por cierto, ejecuto la araña como scrapy crawl spiderBBR -o scraped_data.csv -t csv

parse2 modificar su Request en parse para usar parse2 como su callback.

EDITAR: allowed_domains no debe incluir el prefijo http, por ejemplo:

 allowed_domains = ["boliga.dk"] 

Intente eso y vea si su araña todavía se ejecuta correctamente en lugar de dejar el campo allowed_domains blanco

intenta hacer esto dont_filter=true

yield Request(url=url2, meta{'address':hxs.select("id('searchresult')/tr/td[1]/a[@href]/text()").extract()}, callback=self.parse2,dont_filter=True)