精易论坛

标题: 重庆ssc开奖结果采集 [打印本页]

作者: CrazyWolf    时间: 2018-2-4 00:25
标题: 重庆ssc开奖结果采集
业余时间写的,代码比较粗糙。实现时时彩开奖结果采集,并支持http请求获取结果。
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # author: CrazyWolf
  4. # qq: 4850498

  5. import requests
  6. from pyquery import PyQuery as pq
  7. from flask import Flask

  8. app = Flask(__name__)


  9. def check_shape(number):
  10.     idx = 0

  11.     for i in range(2, 0, -1):
  12.         for j in range(i):
  13.             if number[i + 2] == number[j + 2]:
  14.                 idx += 1

  15.     if idx is 0:
  16.         shape = u'组六'
  17.     elif idx is 1:
  18.         shape = u'组三'
  19.     else:
  20.         shape = u'豹子'

  21.     return shape


  22. def parse(text):
  23.     result = {}

  24.     if not text:
  25.         return None

  26.     doc = pq(text)
  27.     table = doc('table.awardList')
  28.     td_start = table('td.start')
  29.     for ts in td_start.items():
  30.         stage = ts.text().decode('utf-8')
  31.         number = ts.attr['data-win-number']

  32.         #
  33.         if number:
  34.             number = number.replace(' ', '').decode('utf-8')
  35.             result[stage] = number

  36.     # return sorted(result.items(), key=lambda result: result[0], reverse=True)
  37.     return sorted(result.items(), key=lambda result: result[0])


  38. @app.route('/cqssc')
  39. def get_ssc():
  40.     ret = ''
  41.     show_num = 1
  42.     url = 'http://caipiao.163.com/award/cqssc/'

  43.     resp = requests.get(url=url)
  44.     if not resp.ok:
  45.         return None

  46.     result = parse(resp.text)
  47.     ret += u'重庆时时彩报号\r\n'
  48.     ret += u'--------------------------\r\n'

  49.     if len(result) >= 10:
  50.         for k, v in result[-10:]:
  51.             if v is not None:
  52.                 ret += u'{0}期: 【{1}】 {2}\r\n'.format(k, v, check_shape(v))

  53.                 if show_num is 9:
  54.                     ret += u'--------------------------\r\n'

  55.                 show_num += 1

  56.             if show_num > 10:
  57.                 break
  58.     else:
  59.         for k, v in result:
  60.             if v is not None:
  61.                 ret += u'{0}期: 【{1}】 {2}\r\n'.format(k, v, check_shape(v))

  62.                 if show_num is len(result) - 1:
  63.                     ret += u'--------------------------\r\n'

  64.                 show_num += 1

  65.             if show_num > len(result):
  66.                 break

  67.     return ret


  68. def main():
  69.     app.run('0.0.0.0', 8080)


  70. if __name__ == '__main__':
  71.     main()
复制代码
脚本运行效果图:


还可以通过链接查询结果
http://本机IP:8080/cqssc



作者: taodile    时间: 2018-3-2 10:06
膜拜大神
作者: 再见天真    时间: 2018-3-26 23:25
我是小白一枚 没事写了一时时彩,还请大神指点一下链接: https://pan.baidu.com/s/1PCC-TMPJXwASCC6iBUvZmw 密码: c48j
作者: byg128    时间: 2018-5-7 22:09
cqssc文件”。第6行,<模块>。
进口的要求
ModuleNotFoundError:没有名为“请求”的模块
作者: CrazyWolf    时间: 2018-7-14 02:31
byg128 发表于 2018-5-7 22:09
cqssc文件”。第6行,。
进口的要求
ModuleNotFoundError:没有名为“请求”的模块

pip install requests
作者: a207428    时间: 2018-7-24 17:20
作者能留个联系方式吗?
作者: CrazyWolf    时间: 2018-9-2 23:49
byg128 发表于 2018-5-7 22:09
cqssc文件”。第6行,。
进口的要求
ModuleNotFoundError:没有名为“请求”的模块

pip install requests
作者: a420684199    时间: 2018-9-30 23:16
朋友··怎么联系您呢?
作者: CrazyWolf    时间: 2018-10-5 15:41
a420684199 发表于 2018-9-30 23:16
朋友··怎么联系您呢?

代码中有联系方式




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4