双十一在大家的疯狂购物中落下帷幕。今年双十一,天猫再次刷新纪录。交易额达到了2684亿,大家的购买力真是惊人。但在如此大手笔采购之后,却有朋友直呼“上当”了。原因是他们认为天猫在双十一前涨价,然后在双十一打出降价来欺骗消费者。不过网上有很多这样的文章~~真的是这样吗?为了让大家以后不被这件事困扰,也为了让大家在双十二能得到真正的优惠,今天就带领大家使用python搭建一个天猫商品价格监控器。1.如何监控价格如何监控价格?首先,我们需要获取该产品的链接。注意这里的链接不是淘宝密码,而是网页的链接地址,如下:https://detail.tmall.com/item.htm?spm=a230r.1.14.4.495855e26sBKGG&id=596023065281&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=&abbucket=20在上面的链接中我们可以知道产品id是59526023稍后我们可以调用该接口返回商品的详细信息。有时商品的链接中还包含skuId的信息,skuId代表了一个具体的商品。我们可以使用下面的程序来获取商品的id信息,并对id进行编码,形成一个新的链接,从而获取商品的详细信息。接下来我们将爬取新链接返回的json数据,获取我们需要的商品名称、价格等信息。部分程序如下图所示:在上面的程序中,我们对新建链接返回的json数据进行分析,根据不同的情况获取数据。这里的条件包括商品是否为预售商品,商品的价格是否浮动,比如我们经常看到某些商品的价格是23.0~230.0的情况,或者商品的规格可以选择。经过我们对不同的情况进行相应的处理后,提高了程序的稳定性,对于不同的商品都可以获取到我们的价格和名称。2.定时爬行上面的程序完成之后,接下来就是如何让程序按照我们既定的时间进行爬行。在这里,您不必一直爬取,只需定期爬取即可。定时爬取,这里小编使用schedule模块进行定时爬取。您可以设置每隔几小时或几分钟抓取一次。为了给大家展示,小编设置了每5分钟爬取一次,爬取结果如下图所示:3.可视化展示当我们爬取到一定时间后,想要可视化,可以使用matplotlib库可视化价格。程序如下图所示:我们最终的显示结果如下图所示:这样我们就可以监控商品价格,可以一直在服务器上运行程序,然后绘制商品的价格曲线一段时间后,商品的价格动态将由我们掌握。这样,我们就不再害怕价格变动了。
