PHP-购物比价系统中如何实时更新各个商城网站的价格?

前端开发 前端开发 主题:1148 回复:2395

PHP-购物比价系统中如何实时更新各个商城网站的价格?

清晨说ぺ晚安 发布于 2017-03-16 字数 522 浏览 1439 回复 2

目前在做一个购物比价系统,碰到一系列问题,希望看看大家的建议。

在比价系统中,如何实时的获取商品的价格呢?
目前的情况是,商品的详情页面已经有了,获得页面之后也能匹配出价格,但是由于第三方购物网站的价格是实时变化的,如何才能获得最准确的价格信息呢?
目前的思路是每隔一段时间去获取一下,但是如果频率低,价格就不准确,频率高,服务器压力又会比较大。
最好的解决办法是第三方购物网站价格发生变化时主动通知我们的系统,但是这样似乎也不可能。
有什么比较好的思路呢?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

归属感 2017-10-07 2 楼

谢邀,比价系统其实就是一个简单的搜索引擎,需要用大量的蜘蛛去采集电商网站的数据,然后汇总到数据中心,然后再推送给用户。

真正的实时是不可能做到的,只能通过提高蜘蛛采集的频率来实现。所以蜘蛛应该具备统一的受控接口,可以从后台调整采集频率。

同时对商品也应该有所区别,热门商品,用户关注的商品,采集频率高,比如一小时采集一次;冷门商品一天甚至几天更新一次数据也可以。所以这里同样需要蜘蛛具备可以调节采集对象的接口。这样才能充分利用服务器资源。

至于怎么样实现一个好的蜘蛛,有很多讲搜索引擎原理的书,个人想要尝试的话最好从改进开源程序开始,比如scrapy

瑾兮 2017-06-16 1 楼

如果没有合作关系,让电商网站主动推送价格修改可能性几乎为0.

既然已经知道了商品的链接,不妨后台专门有个程序处理是否重新更新抓取该链接。判断标准也没有必要设计的太复杂,比如最简单的一种实现,就是记录一下http header里的If-Modified-Since,发现更新了,就重新抓取页面。