我正在使用scrapy框架从各个网站中删除手机的名称,价格和规格。我已成功删除所有数据并将其存储在MySQL数据库中。
表结构 ID || Product_Url ||名字||价格||规格||
现在第二天,一些产品的价格将从存储在我的数据库中的前一天价值减少。我想更新数据库中的价格
在每天的午夜,一个python程序将运行并检查哪些项目价格已更改,如果它已更改,它将更新该值。
我不想每天再次刮掉所有产品链接。因为它们非常庞大。 Approax 20,000链接
所以请大家帮我一些我应该申请的逻辑,以便我只需要抓取那些价格发生变化的产品链接。
答案 0 :(得分:0)
如果您的抓取产品网站有一个页面,其中列出了最近更新过的产品链接,您可以抓取该列表,并从列表中更新这些产品。
但是,如果该网站没有一个页面,其中列出了最近更新过的产品。您可能需要抓取所有产品链接以寻找价格更新(这不是最佳解决方案,但它有效)。您可以通过发送多个请求来加快进程。
可以在项目settings
中配置此项,将CONCURRENT_REQUESTS
更新为您希望scrapy
发送的所需连接。
既然你提到大约有。 20,000个产品链接,你可以分发这个刮这个巨大的任务的任务。在芹菜工人中,将运行scrapy蜘蛛。您可以运行大约4名工作人员,每名工作人员分别运行scrapy
spider
,并抓取5000个链接。