Scrapy Spider 跟随 url,但不会导出数据

Scrapy Spider following urls, but wont export the data

我正在尝试从房地产列表页面获取详细信息。我可以抓取所有数据,但我似乎无法导出它..

可能是我使用 yield 关键字的方式有问题。代码的大部分工作:

FEED_EXPORT_FIELDS在我的SETTINGS.py中调整。 parse_puppers() 中的 4 个项目正确导出,parse_inside_puppers() 控制台中的数据正确,但不会导出。

我用scrapy crawl f_app -o raw_data.csv来运行我蜘蛛。在此先感谢,感谢所有帮助。

p.s。我对 python 和练习还很陌生,我打赌你注意到了。

您需要使用 meta 参数将电流 item 发送到 parse_inside_pupper

def parse_puppers(self, response):

     base_url = 'https://www.example.com/'
     for block in response.css('div.search-result-main'):

          item = HousingItem()
          item['street']          = block.css(''),
          item['postcode']        = block.css(''),
          item['city']            = block.css('')
          item['url']             = urljoin(base_url, block.css('div.search-result-header > a::attr(href)')[0].extract())

          yield response.follow(url=item['url'],callback=self.parse_inside_pupper, meta={"item": item})

之后你可以在 parse_inside_pupper 中使用它(和 yield 从这里):

def parse_inside_pupper(self, response):

     item = response.meta["item"]
     item['buildY']          = response.xpath('').extract_first().strip()
     item['on_m']            = response.xpath('').extract_first().strip()
     item['off_m']           = response.xpath('').extract_first().strip()
     yield item