一、环境

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. 2017西安网络赛 F

    f(cos(x))=cos(n∗x) holds for all xx. Given two integers nn and mm, you need to calculate the coeffic ...

  2. 2017ecjtu-summer training #3 POJ3264

                                                                                                        ...

  3. UVa 725 简单枚举+整数转换为字符串

    Division  Write a program that finds and displays all pairs of 5-digit numbers that between them use ...

  4. Winform 控件的入门级使用(一)

    开始总结一下控件的基本用法,方便以后查阅. 一.Label Label 的使用频率很高,基本上也没有什么难度. #region Winform //label label.Text = "这 ...

  5. Sass嵌套

    Sass 中还提供了选择器嵌套功能,但这也并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿意看到的一点. 选择器嵌套为样 ...

  6. C语言mktime()

    最近在调试stm32L151单片机,因为业务需要将从RTC获取的时间转换成时间戳.转换的时候发现获取的时间一直不对.一直被两个问题困扰. 1.从RTC获取出来的月份为什么比实际月份小1? 2.转换得来 ...

  7. mysql中的union和order by、limit

      我有一个表 CREATE TABLE `test1` (  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  `name` varchar(20) N ...

  8. Switch 语句

    如果您希望有选择地执行若干代码块之一,请使用 Switch 语句. 使用 Switch 语句可以避免冗长的 if..elseif..else 代码块. 语法 工作原理: 对表达式(通常是变量)进行一次 ...

  9. move_uploaded_file

    move_uploaded_file() 函数将上传的文件移动到新位置. 若成功,则返回 true,否则返回 false. 语法 move_uploaded_file(file,newloc) 参数 ...

  10. linux tpm 测试完整记录,亲测有效。

    没有tpm芯片,采用模拟器的方式来测试. 实验环境:内核版本 3.10.0-327 软件包准备: 内网,没有仓库,自己网上下载: 1. cmake-3.9.6-Linux-x86_64.tar.gz ...