django - 在 Django 中使用 Scrapy DjangoItem 的最佳方式

标签 django python-2.7 scrapy

我是 Django/Scrapy 的新手,对一般的编程很熟悉。我正在尝试制作一个 Django 站点来帮助我学习。

我想做的是从不同站点抓取产品信息,并使用 Scrapy 中的 DjangoItem 将它们存储在我的 postgres 数据库中。

我已经阅读了 Scrapy 和 Django 的所有文档。我已经在这里和其他网站上搜索了几天,但就是找不到我要找的东西让灯泡熄灭了。

无论如何,我的问题是,将Scrapy和Django一起部署的标准是什么。理想情况下,我想抓取 5-10 个不同的站点并将它们的信息存储在我的数据库中。

Scrapy 的文档关于实现 DjangoItem 的最佳方式的信息有点短。
1) Scrapy 项目应该在我的 Django 应用程序中,在我的 Django 项目的根级别还是一起在外面。 2) 除了将 DjangoItem 设置为我的 Django 模型外,我还需要更改任何其他设置吗?

谢谢 布莱恩

最佳答案

我通常将我的 scrapy 项目放在我的 Django 项目根文件夹中的某个位置。请记住,您需要确保这两个项目都在 python 路径中。如果您正确使用 virtualenv,这很容易做到。

除此之外,只要您可以从 Scrapy 导入 Django 模型,我认为 Scrapy 文档中的其他内容都非常清楚。当您导入 Django 模型时,Django 设置会在此时设置,这意味着您的数据库连接等应该都可以正常工作,只要它们已经在 Django 中工作。

唯一真正的技巧是正确设置 python 路径(这可能是另一个问题的主题)。

关于django - 在 Django 中使用 Scrapy DjangoItem 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16701027/

相关文章:

python - 覆盖 Django 中的模板

python - Python 中的无效 URL : No host supplied : error while using Request. get(url)

parsing - Scrapy:将列表项解析到单独的行上

python - python中的分组列表元素

python - 从 .exe 文件运行蜘蛛

Python scrapy,如何在单个蜘蛛中的每个请求之间进行随机延迟?

python - AWS Elastic BeanStalk 签名不匹配

mysql - Django:根据相关字段的计数来订购 QuerySet 的最快方法是什么?

python - Heroku 在 Virtual Env 上安装 PIL 依赖时出错

python - 结合 if 条件与 isnan 语句