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

boyanx8个月前技术教程24

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

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

百度一下,输入双色球开奖结果,看到了中彩网,直接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}")

打印结果

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

相关文章

Datetimepicker.js用法(datetimepicker属性)

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

酷炫时间罗盘(时间罗盘是什么)

感觉很新奇的时间罗盘程序,显示非常酷炫,如下图:源代码如下罗盘.html <!doctype html> <html> <head> <meta charse...

jquery easyUI 日期格式化,DateBox只显示年

蕃薯耀 2016年6月8日 17:13:32 星期三http://fanshuyao.iteye.com/一、问题描述jquery easyui 本身不支持只显示年或只显示月份二、解决方案:1、增加格...

jQuery中模拟用户操作(jquery模拟键盘输入)

有时为了节省不想手动操作网页,但又想看到用户操作时的效果,可以用到jQuery提供的trigger方法。见下图代码在不点击按钮时仍然想弹出this.value我们只需要在后面加上.trigger("事...

用了都说好的5款免费开源的JavaScript图表库

Planetary.js是一个JavaScript图表库,用于构建交互式地球仪。它使用 D3 和 TopoJSON 解析并显示地理数据。 Planetary.js使用基于建筑的构架插件,也就是说默认的...

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

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

发表评论    

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