我在Scrapy中有两个抓取工具,它从网站中删除一些数据,然后最终存储在数据库(sqlite3)
中。现在我想使用Django进行管理。 Django必须管理爬虫,即激活,停用,删除等。同样,来自数据库的数据将在Django的admin中列出。并且所有爬虫都将从Django运行。到目前为止,我已经学会了如何在Django中使用自定义命令,但我无法弄清楚其余部分。任何人都可以帮我理解吗?我的代码是来自文档的简单教程。我已经按照链接
https://docs.djangoproject.com/en/1.6/intro/tutorial01/
任何人都可以帮我理解吗?这将是一个很大的帮助。谢谢!!
答案 0 :(得分:2)
有两种方法可以同步或异步地管理这些抓取工具。
同步意味着用户或管理命令正在执行类似于scrapy crawl command中所做的事情,这种方法有三个缺点:
spider crawl ....
异步意味着你让启动器(即用户或django管理命令)进入并让他轮询django数据库以获得答案或报告进度,这里的主要缺点是启动的蜘蛛和等待用户之间的通信,向用户报告进度以及处理错误,即已爬网站点已关闭或更改其结构等。
底线,两个选项都是可能的,我更喜欢异步方式,保持scrapy盒装(甚至考虑使用scrapyd)并让用户轮询(ajax)用于蜘蛛进度。