一、环境

windows10+python27

二、需求:

1、获取百宝彩网站中,江西快三当日的开奖期号和中奖号码;

2、根据输入期号,输出开奖号码;

三、上代码

 #!/bin/env python
 # coding=utf-8

 import urllib2
 import time
 import re

 class GetK3Issue:
     """
     获取百宝彩网站快三当日输入的期号
     """
     def __init__(self, url=0, page=0, sys_time=0):
         """
         初始化参数
         """
         self.url = url
         self.page = page
         self.sys_time = sys_time

     def get_url_page(self):
         """
         获取页面返回元素
         """
         self.sys_time = time.strftime('%Y-%m-%d', time.localtime(time.time()))
         self.url = 'http://www.baibaocp.com/ks/history/lotid/10412/date/%s' % self.sys_time
         self.page = urllib2.urlopen(self.url).read().decode('utf8')
         return self.page

     def get_issue(self):
         """
         从页面返回元素中提取开奖期号
         """
         issue_list = []
         page = self.get_url_page()
         RE = re.compile(ur'<tr num=\'\d{9}')
         element_list = re.findall(RE, page)
         for element in element_list:
             issue = str(element[9:18])
             issue_list.append(issue)
         return list(issue_list)

     def get_winning_numbers(self):
         """
         从页面返回元素中获取开奖号码
         """
         numbers_list = []
         group_numbers_list = []
         page = self.get_url_page()
         RE = re.compile(ur"class='history_drawnumber'><span>.*</span>")
         element_numbers_list = re.findall(RE, page)
         list_a = str(element_numbers_list)
         RE2 = re.compile(ur'\d{1}</span>')
         numbers_str = re.findall(RE2, list_a)
         for dangezhi in numbers_str:
             numbers = dangezhi[0]
             numbers_list.append(numbers)

         i = 0
         while True:
             j = i + 3
             winning_numbers = numbers_list[i:j]
             i = j
             if j >= len(numbers_list)+3:
                 break
             group_numbers_list.append(winning_numbers)
         return group_numbers_list

     def result_dict(self):
         """
         合并期号和开奖号码列表,返回字典
         """
         issue = self.get_issue().__iter__()
         result = dict(zip(issue, self.get_winning_numbers()))
         return result

     def get_issue_by_dict(self):
         """
         通过输入期号查找开奖号码
         """
         input_issue = str(raw_input(u'请输入你想要查询的期号: '))
         result_list = self.result_dict()
         if input_issue in result_list:
             number = result_list[input_issue]
             print '今日第%s期开奖结果是:%s' % (input_issue, number)
         else:
             print '输入期号有误!!!'

 if __name__ == '__main__':
     run = GetK3Issue()
     run.get_issue_by_dict()

python扒取百宝彩网站江西快三当日期号及开奖结果的更多相关文章

  1. Python 爬取淘宝商品数据挖掘分析实战

    Python 爬取淘宝商品数据挖掘分析实战 项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 爬取淘宝商品 ...

  2. 使用Python爬取淘宝两千款套套

    各位同学们,好久没写原创技术文章了,最近有些忙,所以进度很慢,给大家道个歉. 警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系猪哥删除! ...

  3. 甜咸粽子党大战,Python爬取淘宝上的粽子数据并进行分析

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 爬虫 爬取淘宝数据,本次采用的方法是:Selenium控制Chrome浏览 ...

  4. Python爬取淘宝店铺和评论

    1 安装开发需要的一些库 (1) 安装mysql 的驱动:在Windows上按win+r输入cmd打开命令行,输入命令pip install pymysql,回车即可. (2) 安装自动化测试的驱动s ...

  5. 【Python爬虫案例学习】Python爬取淘宝店铺和评论

    安装开发需要的一些库 (1) 安装mysql 的驱动:在Windows上按win+r输入cmd打开命令行,输入命令pip install pymysql,回车即可. (2) 安装自动化测试的驱动sel ...

  6. 一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. 很多人学习python,不知道从何学起.很多人学习python,掌握了 ...

  7. python爬取安居客二手房网站数据(转)

    之前没课的时候写过安居客的爬虫,但那也是小打小闹,那这次呢, 还是小打小闹 哈哈,现在开始正式进行爬虫书写 首先,需要分析一下要爬取的网站的结构: 作为一名河南的学生,那就看看郑州的二手房信息吧! 在 ...

  8. 如何用 Python 爬取需要登录的网站

    [原文地址:]http://python.jobbole.com/83588/ import requests from lxml import html # 创建 session 对象.这个对象会保 ...

  9. 【Python爬虫案例学习】python爬取淘宝里的手机报价并以价格排序

    第一步: 先分析这个url,"?"后面的都是它的关键字,requests中get函数的关键字的参数是params,post函数的关键字参数是data, 关键字用字典的形式传进去,这 ...

随机推荐

  1. HDU 1495 非常可乐(数论,BFS)

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. 教你如何解决Sublime Text 3使用中出现的中文乱码问题

    Sublime Text 3 是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦. 不过Sublime Package Control所提供的插件可以让Sub ...

  3. [20160711][在Windows下调用neven链接库]

    相关说明 这篇文档是接前篇[20160711][neven代码移植Windows]和[20160711][VS2012配置OpenCV2.4.9]下完成,首先需要通过篇文档编译出neven动态链接库和 ...

  4. [国嵌攻略][143][LCD驱动程序分析]

    LCD驱动程序分析 LCD驱动程序代码在/drivers/video/s3c2410fb.c文件中,在该驱动的s3c2410fb_init中注册了平台驱动,该驱动的初始化代码在s3c24xxfc_pr ...

  5. [学习OpenCV攻略][003[初试牛刀——显示图片]

    cvLoadImage(路径) 加载指定路径的图片到内存 cvNamedWindow("窗口名称", 属性) 创建窗口,窗口名称用来被其他函数引用,属性:0表示窗口大小不变,CV_ ...

  6. $.extend()方法和(function($){...})(jQuery)详解

    1.    JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的. ...

  7. php switch case语句用法

  8. dede后台出现   保存目录数据时失败,请检查你的输入资料是否存在问题

    dede 5.7无法增加顶级/二级栏目,保存目录数据时失败,请检查你的输入资料是否存在问题!执行了SQL还是不行 解决档案:用正常可以添加栏目的,将E:\wamp\www\dededln\back(d ...

  9. Tp-link路由器怎么设置端口映射 内网端口映射听语音

    https://jingyan.baidu.com/article/ca00d56c710ef9e99eebcf85.html 只有一台能上网的电脑就可以自己免费搭建服务器,本经验简单介绍家用tp-l ...

  10. label+input实现开关切换效果

    Document 主要使用label+input来实现改变left的值,下面是核心代码,意思就是选中的input的兄弟节点.box下的.switch-btn元素的left会变成0px(原来是-37px ...