Python采集双色球数据,做数据分析,让我自己实现自己的富豪梦

来唠点嗑?

咳咳,最近是咋的了,某站掀起了一股双色球热潮?一般我自己的账号上,是很少看到关于python这些内容的,都是小姐姐和热梗,或者其他搞笑视频

由于💴的吸引力…手不自觉的就点进去了,看了两分钟,emm不就是采集数据,做可视化分析吗,这我也会,至于能不能中奖,今晚下班买点看看,毕竟机会是留给有准备的人的,我准备一下午,总能分我点机会吧 ~

请添加图片描述

来来来,宝宝们,好事都是要一起分享的,咱现在就开始看看如何实现富婆富豪梦

前期准备

  • 环境介绍

python 3.6
pycharm
requests >>> pip install requests
win + R 输入cmd 然后点击确定 pip install requests 回车
csv

  • 代码实现过程
  1. 发送请求
    headers请求头
    cookies: 用户的信息 常用于检测是否有登录账号
    host: 域名
    referer: 防盗链 告诉服务器你请求的url地址 是从哪里来的(从哪里跳转过来的)
    User-Agent : 浏览器的基本信息
    作用: 把python代码伪装成浏览器对服务器发送请求,
    服务器接收到请求,会给我们返回response响应体数据
  2. 获取数据
    response.text 获取响应体的文本数据 (获取网页源代码)
    response.json() 获取响应体的json字典数据 (动态网页)
    response.content 获取响应体的二进制数据 保存 图片/视频/音频/特定格式的文件
  3. 解析数据
    re正则表达式 / css选择器 / xpath
    提取自己想要数据内容
  4. 保存数据
    文本 / csv excel / 数据库 /
  • 数据分析编辑器:
    jupyter notebook
  1. 你需要安装 和安装模块一样的 pip install jupyter notebook
  2. 打开 在cmd输入 jupyter notebook

请添加图片描述

全部代码

csv以及可视化代码领取 点击即可

import requests # 数据请求 第三方模块 pip install requests
import pprint # 格式化输出的模块  内置模块
import csv # 内置模块
f = open('双色球.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['期号',
                                '开奖日期',
                                '红球',
                                '蓝球',
                                '一等奖中奖注数',
                                '一等奖中奖金额',
                                '二等奖中奖注数',
                                '二等奖中奖金额',
                                '三等奖中奖注数',
                                '三等奖中奖金额',
                                '四等奖中奖注数',
                                '四等奖中奖金额',
                                '五等奖中奖注数',
                                '五等奖中奖金额',
                                '六等奖中奖注数',
                                '六等奖中奖金额',
                                '一等奖中奖地区',
                                '奖池金额'])


csv_writer.writeheader() # 写入表头
for page in range(1, 7):
    # 发送请求的url地址
    url = 'http://***/cwl_admin/kjxx/findDrawNotice'
    # 快速替换 1. 全部选中 2. ctrl + R 3. 通过正则语法进行匹配替换
    params = {
        'name': 'ssq',
        'issueCount': '',
        'issueStart': '',
        'issueEnd': '',
        'dayStart': '2017-10-24',
        'dayEnd': '2021-08-04',
        'pageNo': page,
    }
    headers = {
        'Referer': 'http://www.cwl.gov.cn/kjxx/ssq/kjgg/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
    }
    response = requests.get(url=url, params=params, headers=headers)
    # <> 对象 200 请求成功  状态码
    result = response.json()['result']
    # 解析数据  键值对取值  根据冒号左边的内容 提取冒号右边的内容
    #  for 遍历
    for index in result:
        dit = {
            '期号': index['code'],
            '开奖日期': index['date'],
            '红球': index['red'],
            '蓝球': index['blue'],
            '一等奖中奖注数': index['prizegrades'][0]['typenum'],
            '一等奖中奖金额': index['prizegrades'][0]['typemoney'],
            '二等奖中奖注数': index['prizegrades'][1]['typenum'],
            '二等奖中奖金额': index['prizegrades'][1]['typemoney'],
            '三等奖中奖注数': index['prizegrades'][2]['typenum'],
            '三等奖中奖金额': index['prizegrades'][2]['typemoney'],
            '四等奖中奖注数': index['prizegrades'][3]['typenum'],
            '四等奖中奖金额': index['prizegrades'][3]['typemoney'],
            '五等奖中奖注数': index['prizegrades'][4]['typenum'],
            '五等奖中奖金额': index['prizegrades'][4]['typemoney'],
            '六等奖中奖注数': index['prizegrades'][5]['typenum'],
            '六等奖中奖金额': index['prizegrades'][5]['typemoney'],
            '一等奖中奖地区': index['content'],
            '奖池金额': index['poolmoney']
        }
        csv_writer.writerow(dit)
        print(dit)

可视化

红球

在这里插入图片描述

篮球中奖号码

在这里插入图片描述

最后

今天的你我变富之路,分享到这就结束了

我现在满脑子就是想快点下班了

觉得文章不错的话,记得给我三连哦,最后悄悄问问你们,之前世界杯你们买的都中了吗

在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值