【问题标题】:The best way for integration Django and Scrapy集成 Django 和 Scrapy 的最佳方式
【发布时间】:2019-04-16 10:04:01
【问题描述】:

我知道一些方法,例如 scrapy-djangoitem,但正如它所提到的:

DjangoItem 是一种将 Scrapy 项目与 Django 模型集成的相当方便的方法,但请记住,如果您使用 Scrapy 抓取大量项目(即数百万),Django ORM 可能无法很好地扩展。这是因为关系后端通常不是写入密集型应用程序(例如网络爬虫)的好选择,特别是在数据库高度规范化且具有许多索引的情况下。

那么在 db 和 django 模型中使用抓取项目的最佳方法是什么?

【问题讨论】:

    标签: django scrapy


    【解决方案1】:

    这与 Django ORM 无关,而是与您选择作为后端的数据库有关。它的意思是,如果您希望向表中写入数百万个项目,那么关系数据库系统可能不是您的最佳选择(MySQL、Postgres ...),如果您添加许多项目,性能可能会更差indicies,因为您的应用程序写入量很大(数据库必须更新 B-Tree 或其他结构以在每次写入时保持索引)。

    我建议现在坚持使用 Postgres 或 MySQL,如果您开始在数据库级别遇到性能问题,请寻找其他解决方案。

    【讨论】:

    • 谢谢,我认为这是关于 Django/Scrapy 关系的弱点。
    • 当然。还要记住,大多数蜘蛛的瓶颈不是写入速度,而是网络速度。一个速度非常快的蜘蛛每秒可以输出 50-100 个项目,大多数 dbs 处理得很好。除非你有 100 个类似的蜘蛛同时运行,并且这个数字达到 10,000 项/秒,否则在 mysql 或 postgres 上应该 100% 没问题。
    猜你喜欢
    • 2011-09-12
    • 2010-10-15
    • 2010-11-30
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2017-07-26
    相关资源
    最近更新 更多