0

我正在使用 scrapy 框架从各种网站上抓取手机的名称、价格和规格。我已成功抓取所有数据并将其存储在 MySQL 数据库中。

表结构ID || 产品_网址 || 姓名 || 价格 || 规格 ||

现在在第二天,一些产品的价格将比前一天存储在我的数据库中的值下降。我想更新数据库中的价格

在每天的午夜,一个 python 程序将运行并检查哪些商品的价格发生了变化,如果它发生了变化,它将更新价值。

我不想每天都再次抓取所有产品链接。因为它们的数量非常大。大约 20,000 个链接

所以请大家帮我一些我应该应用的逻辑,这样我只需要抓取那些价格发生变化的产品链接。

4

1 回答 1

0
  1. 如果您抓取的产品站点有一个页面,其中列出了最近更新的产品链接,您可以抓取该列表,并从列表中更新这些产品。

  2. 但是,如果该站点没有列出最近更新的产品的页面。您可能需要抓取所有产品链接以寻找价格更新(这不是最好的解决方案,但它有效)。您可以通过发送多个请求来加快该过程。

    这可以在项目中配置settings,更新为CONCURRENT_REQUESTS您想要scrapy发送的所需连接。

    既然你提到有大约。20,000个产品链接,你可以分发这个大数据的抓取任务。在芹菜工人中,它们将运行刮擦蜘蛛。您可以运行大约 4 个工作程序,每个工作程序都将运行scrapy spider,并抓取 5000 个链接。

参考。http://doc.scrapy.org/en/latest/topics/settings.html

于 2013-07-20T08:24:51.973 回答