0
我很新的Python,我试图将Scrapy与Django集成。在Django中向用户显示Scrapy结果
这里就是我试图使发生:
- 用户提交的URL刮
- URL刮
- 刮数据返回屏幕用户
- 用户分配属性(如有必要)然后将其保存到数据库。
完成此操作的最佳方法是什么?我已经玩过Django Dynamic Scraper,但我认为我最好保持对Scrapy的控制权。
我很新的Python,我试图将Scrapy与Django集成。在Django中向用户显示Scrapy结果
这里就是我试图使发生:
完成此操作的最佳方法是什么?我已经玩过Django Dynamic Scraper,但我认为我最好保持对Scrapy的控制权。
抓住django请求,同时刮另一个网站可能不是最好的主意,这个流程最好是异步完成,意思是说,释放django请求,并有另一个进程来处理报废,我想它不是一件容易做到的事情新来者,但试图裸露在我身边。
流程应该是这样的:
拍摄scrapy蜘蛛可以通过直接从Python代码启动它来完成,使用像celery的工具,也看到django and celery,或使用python的subprocess
,甚至更好的新进程启动它,使用scrapyd来管理这些蜘蛛
有趣!由于我是新人,对编程毫无所知,所以我没有想过每个人都会被请求。我必须更好地熟悉我的这个概念。 如果我正确理解你,这将意味着数据将被直接发送到数据库(不根据需要首先分配属性)。然后数据将被调用回django视图,用户可以在其中操作/验证数据并设置所需的属性(因此,基本上,这些项目将具有这些属性作为空字符串,否则为null,直到它被回调到视图中) – Tim
是的,在这种情况下,我猜这个页面会逐渐建立起来,或者会有一个标志,表明数据已准备就绪,无论如何,蜘蛛和web服务器之间的通信应该通过数据库,服务器应该定期请求数据,还要注意,如果用户关闭浏览器,它不会改变流程,并且数据可以等待他以供后者使用 –
您是否可以指示我如何在django中标记数据?即使只有术语名称在文档/谷歌浏览。最后一点需要注意的是:因为我不希望这些数据在分析之前与大系统分开,所以有一个叫做“分析”的布尔值,或者将它们放在某种单独的表中,会更聪明吗? – Tim