一、环境

windows10+python27

二、需求:

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

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

三、上代码

  1. #!/bin/env python
  2. # coding=utf-8
  3.  
  4. import urllib2
  5. import time
  6. import re
  7.  
  8. class GetK3Issue:
  9. """
  10. 获取百宝彩网站快三当日输入的期号
  11. """
  12. def __init__(self, url=0, page=0, sys_time=0):
  13. """
  14. 初始化参数
  15. """
  16. self.url = url
  17. self.page = page
  18. self.sys_time = sys_time
  19.  
  20. def get_url_page(self):
  21. """
  22. 获取页面返回元素
  23. """
  24. self.sys_time = time.strftime('%Y-%m-%d', time.localtime(time.time()))
  25. self.url = 'http://www.baibaocp.com/ks/history/lotid/10412/date/%s' % self.sys_time
  26. self.page = urllib2.urlopen(self.url).read().decode('utf8')
  27. return self.page
  28.  
  29. def get_issue(self):
  30. """
  31. 从页面返回元素中提取开奖期号
  32. """
  33. issue_list = []
  34. page = self.get_url_page()
  35. RE = re.compile(ur'<tr num=\'\d{9}')
  36. element_list = re.findall(RE, page)
  37. for element in element_list:
  38. issue = str(element[9:18])
  39. issue_list.append(issue)
  40. return list(issue_list)
  41.  
  42. def get_winning_numbers(self):
  43. """
  44. 从页面返回元素中获取开奖号码
  45. """
  46. numbers_list = []
  47. group_numbers_list = []
  48. page = self.get_url_page()
  49. RE = re.compile(ur"class='history_drawnumber'><span>.*</span>")
  50. element_numbers_list = re.findall(RE, page)
  51. list_a = str(element_numbers_list)
  52. RE2 = re.compile(ur'\d{1}</span>')
  53. numbers_str = re.findall(RE2, list_a)
  54. for dangezhi in numbers_str:
  55. numbers = dangezhi[0]
  56. numbers_list.append(numbers)
  57.  
  58. i = 0
  59. while True:
  60. j = i + 3
  61. winning_numbers = numbers_list[i:j]
  62. i = j
  63. if j >= len(numbers_list)+3:
  64. break
  65. group_numbers_list.append(winning_numbers)
  66. return group_numbers_list
  67.  
  68. def result_dict(self):
  69. """
  70. 合并期号和开奖号码列表,返回字典
  71. """
  72. issue = self.get_issue().__iter__()
  73. result = dict(zip(issue, self.get_winning_numbers()))
  74. return result
  75.  
  76. def get_issue_by_dict(self):
  77. """
  78. 通过输入期号查找开奖号码
  79. """
  80. input_issue = str(raw_input(u'请输入你想要查询的期号: '))
  81. result_list = self.result_dict()
  82. if input_issue in result_list:
  83. number = result_list[input_issue]
  84. print '今日第%s期开奖结果是:%s' % (input_issue, number)
  85. else:
  86. print '输入期号有误!!!'
  87.  
  88. if __name__ == '__main__':
  89. run = GetK3Issue()
  90. 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. Vijos P1448 校门外的树【多解,线段树,树状数组,括号序列法+暴力优化】

    校门外的树 描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,K= ...

  2. JAVA虚拟机之对象探秘

    上一章主要写到了JVM中运行时数据区域各个部分的功能及其作用.上一章说到了对象是分配在堆上面的,所以接下来我们写到对象在堆内存中是如何创建.如何布局.如何访问.1. 对象的创建 在java程序中对象的 ...

  3. SpringMVC框架学习笔记(6)——拦截器

    SpringMVC拦截器需要实现接口HandlerInterceptor 有3个方法,分别在请求处理前.请求处理后和在DispatcherServlet处理后执行 实现代码: package inte ...

  4. cdn和反向代理

    都是用来加速网站访问速度 cdn和反向代理的基本原理都是使用缓存,区别在于cdn部署在网络提供商的机房,使用户在请求网络服务时,可以从距离自己最近的网络提供商机房获取数据:而反向代理则部署在网站的中心 ...

  5. xshell连接虚拟机Ubuntu问题

    近期为了学习数据库的操作,准备在虚拟机中搭建环境以便操作(为什么在虚拟机搭建学习环境?),系统刚装好第一步就被阻止了. 总是会提示Could not connect to.原因是虚拟机没有安装ssh服 ...

  6. ASP.NET core1.0 EF MYSQL搭建中碰到几个问题记录

    1.No executable found matching command "dotnet-ef"   看了网上各种办法都没用,最后选择"个人用户账户"创建项 ...

  7. 关于在vue-cli中使用微信自动登录和分享

    (以下所有接口由后台提供) 一.微信自动登录 //定义事件 methods:{ //判断是否微信登陆 是不是微信浏览器 isWeiXin() { let ua = window.navigator.u ...

  8. Linux 中出现的-bash: syntax error near unexpected token `

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在Linux 5中导入数据时,出现下面的错误. -bash: syntax error near unexpected token `(' 检查了 ...

  9. 邓_ phpcms_

    {pc:content action="lists" catid="$catid" num="10" order="id DESC ...

  10. Android知识点剖析系列:深入了解layout_weight属性

    摘录自:http://www.cnblogs.com/net168/p/4227144.html 前言 Android中layout_weight这个属性对于经常捣鼓UI的我们来说,肯定不会陌生.但是 ...