足球直播_足球免费在线高清直播_足球视频在线观看无插件-24直播网

python爬取彩票网站开奖号码

  一直以来对python特别感兴趣,但却没有一个目标去好好学习这门语言。昨天突然有个想法,老爸喜欢买七星彩,为何不抓取每一期的开奖号码,通过邮件推送给他呢。这样他既能第一时间知道开奖号码了。

  然后就动手开干,但是为什么选择python,其实用php我写得更快一些。还是因为看了点python没有机会实践,或者说懒得去实践大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!。

  本次实例安装标题,将每一个方法拆分出来说明,同时这也是开发过程中的思路。

  在动手之前需要了解一些将要抓取页面的结构。

  目标地址:http://caipiao.163.com/award/qxc/

  这里写图片描述

  网站编码是utf-8,下面开始进入代码。大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

  获取页面代码其实很简单,引入urllib库。方法中第一行为打开一个url地址,这时拿到的是一个对象,通过read()方法能拿到这个整个页面的代码,再通过utf-8编码(网站编码),使代码中的中文能被看懂。

  下面来看一下运行结果。

  这里写图片描述

  好家伙,出错了。这里我爬了一个小时,用了各种编码都是报错。后来百度到一句话:有些网站为了能加载速度快,把代码压缩了。然后顺着这句话,我还真找到一个python的解压缩库。修改了代码之后

  运行结果如下

  这里写图片描述

  总算是把前端代码取到了。

  这里写图片描述

  需要的内容就框在两个p标签中,稍微看了一下,决定用两个正则来取这个开奖号码,先取出p标签中的内容,再取开奖号码

  因为不太会写正则,所以匹配了两遍,有点笨但是这里可行。如果有更好的匹配方式,欢迎讨论。大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

  运行结果取到下面一个列表

  [‘6’, ‘6’, ‘6’, ‘6’, ‘4’, ‘5’, ‘8’]

  到这里抓取开奖号码就已经完成,但是离我的目标还远,我需要对比每一次的开奖结果,将最新的开奖号码通过邮件的形式发送出去。

  为什么要保存开奖号码呢?因为每次抓取的不一定是最新的开奖号码,需要新旧对比才能知道那一次抓的是最新开奖号码,当抓到最新的号码后才发送邮件。

  这里选择文件来保存

  一个简单的文件保存方法就完成,说明一下第二行,因为正则匹配到的是一个列表,所以这里需要转换成字符串才能保存到文件中。

  既然保存了文件,就需要再讲文件的内容读取出来,不然保存也没有意义对吧。哈哈哈

  这里将之前保存旧开奖号码从文件中提取出来,用于与当前抓取到的开奖号码对比。如果号码相同则不做处理,如果不相同这替换文件,同时将新一期的开奖号码通过邮件发送。

  在下面的代码中我把发邮件的逻辑直接写进去了,这里我隐藏了邮件的相关信息,同时也不讲解发邮件的相关内容,有兴趣的可以自己去研究,使用的是python自带的smtp库。

  运行结果

  这里写图片描述

  成功抓取到开奖号码,并发送邮件。

  这里虽然不介绍邮件的功能,但是觉得有必要说一下。我不清楚别的邮件服务器怎么样,当时使用的163的服务器,对方返回了一个错误编码,大概的意思是无法辨别我发的邮件是否垃圾邮件,服务禁止我的请求。后来改用了公司的邮件服务器,算是成功发送了。如果要动手写发邮件的代码,可能会碰到点问题。

python爬取彩票网站开奖号码

python爬取彩票网站开奖号码

分享:
扫描分享到社交APP
发表列表
请登录后评论...
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~