一、环境

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. [51nod1254]最大子段和 V2

    N个整数组成的序列a[1],a[2],a[3],-,a[n],你可以对数组中的一对元素进行交换,并且交换后求a[1]至a[n]的最大子段和,所能得到的结果是所有交换中最大的.当所给的整数均为负数时和为 ...

  2. HDU-5157Harry and magic string

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5157 先从后往前插点,在构造回文树时,让cnt[i]+=cnt[fail[i]],然后维护一个后缀和a. ...

  3. c语言基础学习07_关于指针的复习

    ============================================================================= 指针变量之间赋值是需要兼容的. 例如:int ...

  4. light oj 1152 Hiding Gold

    题目: You are given a 2D board where in some cells there are gold. You want to fill the board with 2 x ...

  5. 二维数组模拟实现酒店管理系统-java

    业务分析 1.需要一个房间类,包含房间的属性,比如房间编号.房间类型.是否占用. 2.需要一个旅馆类,旅馆有房间,提供的方法需要有 预订房间.打印房间信息.初始化房间.退房. 3.测试类,测试预订房间 ...

  6. Spark算子--foreach和foreachPartition

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/6776fe93f754daf60d00d2cb509422a1.html foreach和foreachPar ...

  7. C#如何释放已经加载的图片

    使用Image.FromFile取磁盘上的图片时,这个方法会锁定图片文件,而且会导致内存占用增大, 有几种方法解决:一:将Image类转换成Bitmap类System.Drawing.Image im ...

  8. ThinkServer TD340服务器安装操作系统[转]

    一:服务器概况 服务器是联想旗下ThinkServer品牌TD340型号服务器,服务器标配32G内存,1T硬盘.其中服务器使用RAID(磁盘阵列)技术,拥有一个RAID卡,服务器标配一个大小为1T的磁 ...

  9. Django_项目初始化

    如何初始Django运行环境? 1. 安装python 2. 创建Django项目专用的虚拟环境 http://www.cnblogs.com/2bjiujiu/p/7365876.html 3.进入 ...

  10. Python---socketserver

    为方便以后学习和查询,特从socketserver架构.源码分析和案例三方面进行总结 1. Python之socketserver架构 2. Python之socketserver源码分析(一) 3. ...