昨天晚上无意之间看到了一个程序,是用node写的一个爬虫程序,功能是检测12306网站你要买的车票有没有,要是有的话就给你的邮箱发一封邮件,这个功能看起来很简单,但是实现起来还是有很多需要思考的地方,首先你要模拟请求吧,人家12306网站是用的https协议的,你得首先有这个意识,然后就得使用https模块,这时候你得去看https模块的文档,看他的demo,有一个小技巧就是你直接看他的demo,如果有看不懂的地方然后就去看相应的文档,这样就会有目标学起来也快了,不过这种当时虽然算是快的了,可是在工作当中这样的话你得现学这个模块,所以要多建议这个模块的用法,这样以后到工作中就只需要看他的文档就行了,这样回过头来想,我学php是因为我工作中要用,可是我看文档看了那么多,并没有记住多少,还是要多写一些小例子,对于不会的去查,然后看别人的例子,这样才会有提高。这是学习方法。然后就是发请求,https需要证书你要下载,然后就开始用,按照网站上的格式进行发请求,然后分析接收到的数据你要怎么利用,这里要考虑多种情况,需要画流程图,比如请求错误,或者没有查到票信息,或者查到之后的个数或者是有的没有,要按照你想要的实现,结合你的功能来实现,你如果发现票的信息没有变化那么就不用给邮箱发邮件了,有的话就再发,所以这里涉及到两个模块,定时执行模块,发邮件模块,定时模块按照说明使用就行了,在npm上就有,然后邮件模块也一样,但是邮件模块这里因为邮箱有限制,所以你得开始互联网邮件协议,然后去拿到授权码,这个作为你授权的密码,然后去给你的邮箱发邮件就行了,有点自己给自己发的意思,正文编辑好就发送了。
这样一个办自动的抢票软件好了,自己学到的主要还是方法,多写多练,提前有个流程图,进行思考。