python爬取双色球20年来的历史开奖数据

boyanx3个月前技术教程14

心血来潮,打算把双色球历史开奖数据喂给大模型,让大模型替我预测一下每期双色球的开奖结果。

所以第一步,就是搞定训练的数据源。

百度一下,输入双色球开奖结果,看到了中彩网,直接F12打开调试模式

get请求,不用登录,这就很方便了。

写python代码

import requests
import json

# 动态参数,需要根据实际情况填充
dynamic_timestamp = '1720075528388'  # 例如从当前时间生成
dynamic_tt = '0.6040359491107643'  # 可能是一个随机数或时间戳

# 请求URL
url = f'https://jc.zhcw.com/port/client_json.php?callback=jQuery1122009121818915345226_{dynamic_timestamp}&transactionType=10001001&lotteryId=1&issueCount=0&startIssue=2003001&endIssue=2024075&startDate=&endDate=&type=1&pageNum=1&pageSize=5000&tt={dynamic_tt}&_=1720075528388'

# 请求头
headers = {
    'Accept': '*/*',
    'Accept-Encoding': 'gzip, deflate, br, zstd',
    'Accept-Language': 'zh,zh-CN;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Cookie': 'PHPSESSID=r8r42jpq7tcs3rk46mc1gjei03; Hm_lvt_692bd5f9c07d3ebd0063062fb0d7622f=1720075529; Hm_lpvt_692bd5f9c07d3ebd0063062fb0d7622f=1720075529; _ga_9FDP3NWFMS=GS1.1.1720075529.1.0.1720075529.0.0.0; Hm_lvt_12e4883fd1649d006e3ae22a39f97330=1720075530; Hm_lpvt_12e4883fd1649d006e3ae22a39f97330=1720075530; _ga=GA1.2.692943629.1720075530; _gid=GA1.2.1494209071.1720075530; _gat_UA-66069030-3=1',
    'Host': 'jc.zhcw.com',
    'Pragma': 'no-cache',
    'Referer': 'https://www.zhcw.com/',
    'Sec-Ch-Ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
    'Sec-Ch-Ua-Mobile': '?1',
    'Sec-Ch-Ua-Platform': '"Android"',
    'Sec-Fetch-Dest': 'script',
    'Sec-Fetch-Mode': 'no-cors',
    'Sec-Fetch-Site': 'same-site',
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36'
}

# 发送GET请求
response = requests.get(url, headers=headers)

# 检查响应状态码
if response.status_code == 200:
    print("请求成功")
    # 处理响应数据
    # 移除包裹在JSON数据外的JavaScript代码,只保留JSON数据部分
    json_data = response.text.split('(')[1].split(')')[0]

    # 将JSON数据转换为Python字典
    data_dict = json.loads(json_data)

    # 访问"data"键下的列表
    data_list = data_dict['data']

    # 打印"data"列表中的每一项
    for item in data_list:
        for info in item['winnerDetails']:
            if info['awardEtc'] == '1':
                print('期号:' + item['issue'], '开奖日期:' + item['openTime'], '红球:' + item['frontWinningNum'],
                      '蓝球:' + item['backWinningNum'])
else:
    print(f"请求失败,状态码:{response.status_code}")

打印结果

数据这不就来了嘛,明天就训练模型,试试效果。

相关文章

蓝色时间轴个人博客网页模板代码(网页制作蓝色的代码)

看雪时间轴个人博客模板,女生唯美简洁个人博客静态页面模板,蓝色时间轴个人网页模板,下雪空间个人模板代码1、html页面代码<!doctype html> <html> <...

Datetimepicker.js用法(datetimepicker属性)

$('.form_date').datetimepicker({//初始化 language: 'zh-CN', //weekStart: 1,...

ClockPicker调用方法(α clock)

ClockPicker.js是一款时钟插件,其实还可以改进,里面的分可以改成短横线。在线实例实例预览jQuery ClockPicker 圆形时钟使用方法 <div class="input-g...

vue中监听滚动事件:方法简单留着备用

看似简单的功能事件,难道了不少朋友,不是功能有多难,而是对原理不了解浪费不少时间;简单明了收藏备用,或推荐给初学的朋友,赠人玫瑰手留余香;在mounted中监听滚动元素的ID;‘scroll’监听事件...

了解 JS 的加载顺序和方式,实现 Ready 方法

页面加载 JS 顺序或方式不同,可能会导致功能失效、错误的产生或加载解析时间过长,拖慢整个页面展示。了解 JS 的加载顺序了解页面元素的加载顺序,找到 JS 执行失败原因。有时明明没有问的代码,可就获...

学习下ECharts 异步加载数据(echarts加载大量数据)

ECharts 通常数据设置在 setOption 中,如果我们需要异步加载数据,可以配合 jQuery等工具,在异步获取数据后通过 setOption 填入数据和配置项就行。ECharts 通常数据...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。