一、背景
在网上闲逛的日子总归是无聊的,百度的跟踪也是一如既往的好,它总是会给我推荐一些互联网圈里面的新闻,然后又在其中穿插一些新游戏广告,正因如此,我看到了一篇报道某个地方某个人中了五百万大奖的新闻,灵感迸发,进而写了一个关于彩票的爬虫。
二、网页分析
图一
图二下一步就是实现翻页效果咯,我们进入真实网址,点击下一页之后发现网址后面的list.html变成了list_2.html,再翻一页变成了list_3.html,尝试将第一页改为list_1.html后发现也能正确浏览,故网址规律找到了。
最后一步分析开奖号码到底藏在哪个地方,这里不详细的说步骤了,如图二,开奖号码就在<em></em>中。
OK,网页分析已经完成,下面直接进入代码。
三、代码解释
图三如图三的代码,仅仅只有35行,这应该只是一个我写过的爬虫中排在中等偏下的难度吧。简单解释:14行导入第三方包,这个不具体解释了,69行是浏览器的请求头,这两个百度一下就知道了。11行定义一个lists列表用来存储开奖号码。下面两个函数,get_info函数用来获取开奖号码,因为这里为了方便下一个统计函数,所以直接用正则表达式进行爬取,然后将爬取的结果依次存到lists列表中,最后返回lists列表供data函数使用,下面data函数功能是统计每一个开奖数字出现的次数,最后main函数里面实现翻页的效果以及调用get_info函数爬取每页的内容,最后有个time.sleep()语句,让程序在每个页面上停留一会儿,停留时间为5~20秒中的任意一个数字。最后一行待所有的页面都获取完成之后执行data()函数。
四、总结及运行结果
图四总体来说这个程序很简单,其实也可以把它变得稍稍难一点,比如加上数据分析和机器学习中的学习算法和预测算法,不过我还没学那些东西,而且就目前来看学这些应该要等到今年年底了,所以有些不完美。不过等学了之后倒是可以继续完善这个程序,使之成为一个有得赚的程序。要知道大佬们预测世界杯准确率都低得吓人啊。最后如图四,运行结果显示从2018年一月份到现在为止出现次数最多的是6。