gpt4 book ai didi

django - 将信息从 Scrapy 爬虫持续导出到 Django 应用程序数据库的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 15:26:23 28 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Using Django database layer outside of Django?

(12 个回答)



Access django models inside of Scrapy

(8 个回答)


2年前关闭。




我正在尝试构建一个功能类似于商店的 Django 应用程序。项目是从互联网上抓取的,并随着时间的推移(比如每隔几天)不断更新 Django 项目数据库。我正在使用 Scrapy 框架来执行抓取,虽然有一个实验性的 DjangoItem feature ,我宁愿远离它,因为它不稳定。

现在我的计划是用 Scrapy 的 XMLItemExporter 创建爬取项目的 XML 文件。 (文档 here ),并将其用于 loaddata作为 XML 固定装置(文档 here)进入 Django 项目。这似乎没问题,因为如果两个进程之一搞砸了,它们之间就有一个文件中介。将应用程序作为一个整体模块化似乎也不是一个坏主意。

一些担忧是:

  • 对于 Django 的 loaddata,这些文件可能太大而无法读入内存.
  • 当可能有更好或更简单的解决方案时,我在这方面花费了太多时间,例如直接导出到数据库,在这种情况下是 MySQL。
  • 似乎没有人在网上写过这个过程,考虑到 Scrapy 在我看来是一个可以插入 Django 应用程序的优秀框架,这很奇怪。
  • 在 Django 的文档上没有手动创建 Django 固定装置的明确指南 - 似乎它更倾向于从应用程序本身转储和重新加载固定装置。

  • 实验性 DjangoItem 的存在表明 Scrapy + Django 是一个足够流行的选择,因为这里有一个很好的解决方案。

    我将非常感谢有关此问题的任何解决方案、建议或智慧。

    最佳答案

    这个问题已经有点老了,但我目前也在处理 Django + Scrapy 的正确集成。我的工作流程如下:我已将 Scrapy 设置为 Django 管理命令,如 in this answer 所述。 .之后,我简单地编写了一个 Scrapy 管道,它使用 Django 的 QuerySet 方法将抓取的项目保存到 Django 的数据库中。就这样。我目前正在使用 SQLite 作为数据库,它就像一个魅力。也许这对某人仍然有帮助。

    关于django - 将信息从 Scrapy 爬虫持续导出到 Django 应用程序数据库的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878985/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com