【发布时间】:2019-02-08 00:53:46
【问题描述】:
我正在成功地报废一个页面,该页面返回给我一个独特的项目。我既不想将报废的项目保存在数据库中,也不想保存到文件中。我需要在 Django 视图中获取它。
我的看法如下:
def start_crawl(process_number, court):
"""
Starts the crawler.
Args:
process_number (str): Process number to be found.
court (str): Court of the process.
"""
runner = CrawlerRunner(get_project_settings())
results = list()
def crawler_results(sender, parse_result, **kwargs):
results.append(parse_result)
dispatcher.connect(crawler_results, signal=signals.item_passed)
process_info = runner.crawl(MySpider, process_number=process_number, court=court)
return results
我关注了this 解决方案,但结果列表始终为空。
我读到的内容是创建自定义中间件并在 process_spider_output 方法中获取结果。
我怎样才能得到想要的结果?
谢谢!
【问题讨论】:
-
有时你需要做一个额外的步骤来达到你的目标。我认为分而治之更容易。使用 scrapy 将数据存储到数据库中。使用 django 从数据库中提取数据并在视图中显示。
-
@ThomasSrub 这里的问题是很难确定蜘蛛完成后数据何时已经在数据库中以及何时报废。