一、环境

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. BZOJ 1800: [Ahoi2009]fly 飞行棋【思维题,n^4大暴力】

    1800: [Ahoi2009]fly 飞行棋 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1689  Solved: 1335[Submit][St ...

  2. And Then There Was One(约瑟夫问题变形)

    题目链接:http://poj.org/problem?id=3517 And Then There Was One Time Limit: 5000MS   Memory Limit: 65536K ...

  3. Shell菜单脚本

    今天在这儿给大家分享一个我简单编写的Shell菜单脚本,傻瓜式的人机交互,人人都可以操作linux. #!/bin/sh #Shell菜单演示 function menu () { cat <& ...

  4. return机制

    C/C++中,函数内部的一切变量(函数内部局部变量,形参 )都是在其被调用时才被分配内存单元.子函数运行结束时,所有局部变量的内存单元会被系统释放.形参和函数内部的局部变量的生命期和作用域都是在函数内 ...

  5. ThinkPhp5.0_文件上传

    ===================================================================== 路径: F:\wamp\www\public\uploads ...

  6. 导入Mybatis_Spring项目遇到的问题

    1.  问题: jdk版本不匹配  解决方法:首先 到项目空间的   .setting文件中找到  org.eclipse.wst.common.project.facet.core.xml  修改参 ...

  7. 分布式CAP原理

    根据维基百科定义[CAP] 根据定理,一个分布式系统最多只能满足其中两项, 不可能同时满则C-A-P三项 首先说一下对各项原则的理解 (1)一致性C: 单机环境下, 数据只有一份,所有的客户端访问的是 ...

  8. c# winform 类似android toast消息功能

    先看下效果: 支持动画,支持声音,支持定时自动关闭 使用方法: var notifycation = new Notification("My Notification", &qu ...

  9. python3 第十四章 - 数据类型之Dictionary(字典)

    在python中字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下 ...

  10. _2_head_中标签

    创:20_3_2017修:5_4_2017 什么是title标签? --title   页面名(双) -- 整个html的页面名字,相当于一本书的书名 <title>北门吹雪</ti ...