第二次的爬虫任务完成过半,本次我们要以一定的频率自动刷新香港的apple网上商店(http://store.apple.com/hk-zh/buy-iphone/iphone6/)当有货的时候,第一时间通知自己,甚至自动下订单。
首先我们打开网页,看到源文件里面有这样的代码:
这里面包含了iphone6的所有信息,包括类别、颜色、价格以及最重要的货物有/无状态displayShippingQuote,由于iphone6供不应求,所以这里一直显示的是“暂时无法提供”,下面附上iphone5s的信息,可以看到其displayShippingQuote都是“有现货”:
下面我们把网页数据扒下来,用正则将我们需要的信息提取出来:
>>>reg = '{"dimensionScreensize":"(.*?)","dimensionColor":"(.*?)","dimensionCapacity":"(.*?)","partNumber":".*?","price":"(.*?)","displayShippingQuote":"(.*?)".*?}'
(.*?)里面的信息将是我们得到的信息,这里我主要提取了四个信息,以便待会根据自己需要哪款机型从而发送邮件。现在我们开始不断的重复提取网页的数据,我是写在一个循环里面的,并用time.sleep()控制刷新的频率,()里面填刷新间隔的秒数。接下来我们只需要等到"displayShippingQuote"里面的信息变成了“有現貨”时就可以向自己的邮箱发送邮件了,至于如何发送邮件我也不懂,于是我在网上收了一段代码,具体就不贴出来了,网上一收就有。关于如何下订单目前还没实现。下面附上一些我程序运行的结果图:
这是抓取iphone5s网页的运行结果:
这是抓取iphone6网页的运行结果:
这是我139邮箱收到的邮件图:
这是我手机收到139发来的短信: