Python采集双色球历史开奖信息,看看哪个号中奖概率更大

news2024/11/27 18:45:44

目录标题

      • 前言
      • 知识点:
      • 开发环境:
      • 基本流程:
      • 代码展示
      • 尾语

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

知识点:

  1. 爬虫基本流程

  2. requests的使用

  3. 动态数据抓包

开发环境:

  • 解释器: python 3.8

  • 编辑器: pycharm 2022.3

  • requests >>> pip install requests

第三方模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

python资料、源码、教程\福利皆: 点击此处跳转文末名片获取

基本流程:

一. 思路分析

找到数据来源

    当前的这个数据 是动态数据还是静态数据
    
    network 网络资源抓包  
    
捋清楚整个案例的实现过程

    访问该网址 获取到 数据内容
    
    并且将我们需要的数据内容提取出来
    
    保存 (单页)
    
    多页采集 分析 链接变化规律 构建翻页规律 实现多页采集

二. 代码实现

  1. 发送请求

  2. 获取数据

  3. 解析数据

  4. 保存数据

代码展示

import requests     # 第三方库 需要额外安装
import csv

headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Cookie': 'HMF_CI=1b17efcb79bb1c54b0972d1e27d1af031f8912351c906f5874e3ee7ad1ca9563806c6b7e37f7dc287b3165e3422da231f587a0c6a2923dea32cb0e422e6553046a; 21_vq=4',
    'Host': 'www.cwl.gov.cn',
    'Pragma': 'no-cache',
    'Referer': 'http://*****/ygkj/wqkjgg/ssq/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}
f = open('双色球.csv', mode='a', newline='', encoding='utf-8')
源码、解答、教程、安装包等资料加V:qian97378免费领
csv_writer = csv.writer(f)
csv_writer.writerow(["日期", "红球", "蓝球", "奖池金额", "中奖情况", "一等奖人数", "一等奖金额", "二等奖人数", "二等奖金额", "三等奖人数", "三等奖金额", "四等奖人数", "四等奖金额", "五等奖人数", "五等奖金额", "六等奖人数", "六等奖金额"])
for page in range(1, 54):
    print(f"正在抓取第{page}页")
    url = f'http://*****/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=&dayEnd=&pageNo={page}&pageSize=30&week=&systemType=PC'
    response = requests.get(url=url, headers=headers)
    json_data = response.json()
    # red->0->result
    result = json_data['result']
    for res in result:
        reds = res['red']
        blue = res['blue']
        date = res['date']
        poolmoney = res['poolmoney']
        content = res['content']
        prizegrades = res['prizegrades']
        one_prize, one_price, two_prize, two_price, three_prize, three_price, four_prize, four_price, five_prize, five_price, six_prize, six_price = "", "", "", "", "", "", "", "", "", "", "", ""
        for prizegrad in prizegrades:
            if prizegrad['type'] == 1:
                one_prize = prizegrad['typenum']
                one_price = prizegrad['typemoney']
            elif prizegrad['type'] == 2:
                two_prize = prizegrad['typenum']
                two_price = prizegrad['typemoney']
            elif prizegrad['type'] == 3:
                three_prize = prizegrad['typenum']
                three_price = prizegrad['typemoney']
            elif prizegrad['type'] == 4:
                four_prize = prizegrad['typenum']
                four_price = prizegrad['typemoney']
            elif prizegrad['type'] == 5:
                five_prize = prizegrad['typenum']
                five_price = prizegrad['typemoney']
            elif prizegrad['type'] == 6:
                six_prize = prizegrad['typenum']
                six_price = prizegrad['typemoney']
        print(date, reds, blue, poolmoney, content, one_prize, one_price, two_prize, two_price, three_prize, three_price, four_prize, four_price, five_prize, five_price, six_prize, six_price)
        # 我要保存为一个表格
        # 期数 红球 蓝球 中奖情况 奖池金额 一等奖中奖人数 一等奖中奖金额 二等奖中奖人数 二等奖中奖金额
        csv_writer.writerow([date, reds, blue, poolmoney, content, one_prize, one_price, two_prize, two_price, three_prize, three_price, four_prize, four_price, five_prize, five_price, six_prize, six_price])

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/724099.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jenkins邮件配置报错com.sun.mail.smtp.SMTPSenderFailedException: 501

Jenkins邮件配置,配置完成各种信息之后,“通过发送测试邮件测试配置”点击Test configuration,报错 1、报错信息 com.sun.mail.smtp.SMTPSenderFailedException: 501 mail from address must be same as authorization userat com.sun.mail…

ARM_异常处理流程_编写软中断swi验证保存现场和恢复现场

keil .text .global _start _start:1.构建异常向量表b resetb undefb software_interruptb prefetch_abortb data_abortb .b irqb fiq reset:系统上电之后处于svc模式初始化svc模式下的栈指针ldr sp,0x400008002.从SVC模式切换到user模式 msr cpsr,#0xD0mrs r0,cpsrorr r0,r0,…

C#(五十四)之线程Mutex互斥

Mutex(互斥体): 排他性的使用共享资源称为线程间的互斥。 使用Mutex类要比使用monitor类消耗更多的系统资源,但他可以跨越多个应用程序,在多个应用程序间同步。 构造函数 Mutex() 使用默认属性初始化 Mutex 类的新…

算法与数据结构(六)

一、图 一、临接表 表示方法如下: 带权值的无向图的构建: #define MaxInt 32767 // 极大值 #define MVNum 100 // 最大定点数 typedef int ArcType; // 边的权值类型 typedef char VerTexType; // 顶点数据类型//弧(边)的结点结构 st…

adb: failed to install .\xxxxxx.apk: Failure [INSTALL_FAILED_USER_RESTRICTED

开发者模式和USB调试均已打开,adb安装时报错。看了一下,小米手机还需要开启USB安装才行。 问题已解决

注册-Springboot整合邮件发送

1.QQ邮箱开启服务 获取授权码 2.在配置文件进行相关配置 spring:mail:host: smtp.qq.comport: 587username: xxxpassword: xxxdefault-encoding: utf-8properties:mail:smtp:connectiontimeout: 5000timeout: 3000writetimeout: 5000 3.读取配置类 /*** 读取yml配置文件里面…

乞丐版的四层负载均衡,你了解多少?

大家好,我是蓝胖子,做开发的同学应该经常听到过负载均衡的概念,今天我们就来实现一个乞丐版的四层负载均衡,并用它对mysql进行负载均衡测试,通过本篇你可以了解到零拷贝的应用,四层负载均衡的本质以及实践。…

深入解析Redis的LRU与LFU算法实现

作者:vivo 互联网服务器团队 - Luo Jianxin 重点介绍了Redis的LRU与LFU算法实现,并分析总结了两种算法的实现效果以及存在的问题。 一、前言 Redis是一款基于内存的高性能NoSQL数据库,数据都缓存在内存里, 这使得Redis可以每秒轻…

矩阵的压缩存储

本文主要内容:本文主要介绍几种特殊矩阵的压缩存储。特殊矩阵指具有许多相同矩阵元素或零元素,并且这些相同矩阵元素的分布有一定规律性的矩阵,常见的特殊矩阵有对称矩阵、上(下)三角矩阵、对角矩阵等。压缩存储指为多…

Vite按需引入自定义组件unplugin-vue-components

1.安装插件 npm i unplugin-vue-components -D 2.vite.config.ts文件加如下代码 plugins: [vue({reactivityTransform: true}),Components({extensions: [vue, md],include: [/\.vue$/, /\.vue\?vue/, /\.md$/],dts: src/components.d.ts,deep: true, // 搜索子目录dirs: [s…

MySQL体系结构及各结构的功能

MySQL体系结构 MySQL的体系结构实际就是MySQL数据库是由那些部分构成,每个部分的具体作用是什么。 Connectors: 用于不同的编程语言连接MySQL数据库,即对外提供的API。 Management Service &Utilities: 用于管理系统&…

Android studio实现网上订餐app

目录 一.应用分析 1.1应用总体描述 1.2应用开发环境 1.3应用模块说明 二.效果展示 2.1店铺界面 2.2店铺详情界面 2.3菜品详情界面 2.4订单界面 三.服务器数据准备 四.店铺功能业务实现 4.1搭建标题栏布局 1.创建项目 2.导入界面图片 3.搭建标题栏布局…

旅游卡小程序分销系统开发

旅游业的不断发展,旅游卡作为一种便捷的旅游方式越来越受到人们的青睐。为了吸引更多的游客,许多旅游卡品牌开始推出各种优惠活动,例如折扣、免费景点等。为了实现这些优惠活动,旅游卡品牌需要开发一款小程序分销系统,…

主成分分析系列(一)概览及为什么数据要中心化

一、概览 主成分分析(Principle Component Analysis,PCA)算法属于数据降维算法里面的一种。数据降维算法的主要想法是从高维度数据中找到一种结构,这种结构蕴含了数据中的大部分信息,从而将高维数据降维到低维数据&am…

开利网络受邀参与广州三会数字化转型主题研讨会

7月4日,开利网络受邀来到位于广州黄埔的视源集团总部,参与由广州三会组织的企业数字化转型主题系列研讨会。降本增效是企业经营的重要目标,本次数字化转型议题则从“会议”这一要素出发,探讨如何利用软硬件技术能力帮助企业完成会…

《疯狂Android讲义》第2版 第3.5.2节关于Handler的代码

类似定时切换商品效果&#xff1a; 布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-…

Python自动化测试面试题(精选版)

目录 项目相关 测试框架 测试工具 测试方法 Python基础 ​&#x1f381;更多干货 完整版文档下载方式&#xff1a; 今天由凡哥给你介绍一些Python自动化测试中常见的面试题&#xff0c;涵盖了Python基础、测试框架、测试工具、测试方法等方面的内容&#xff0c;希望能够…

华为OD机试真题 Python 实现【优秀学员统计】【2023Q1 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、补充说明五、解题思路六、Python算法源码七、效果展示1、输入2、输出3、说明 一、题目描述 公司某部门软件教导团正在组织新员工每日打卡学习活动&#xff0c;他们开展这项学习活动已经一个月了&#xff0c;所以想统计下这个月优…

pdf转ppt怎么转换?分享这几个方法给大家!

将PDF文件转换为PPT演示文稿是一项常见需求&#xff0c;无论是为了编辑、演示还是共享文件。 随着信息技术的不断进步&#xff0c;我们经常遇到需要将PDF文件转换为PPT演示文稿的情况。以下是四种简便的方法&#xff0c;供大家参考。 方法一&#xff1a;使用记灵在线工具 通…

Salesforce Associate认证考试指南来啦!(内含备考攻略)

Salesforce Associate认证是一项全新的入门级认证&#xff0c;针对0-6个月Salesforce经验的学习者。这一新认证不再强调实践专业知识&#xff0c;而是验证并增强那些拥有Salesforce基础知识的备考者。这些知识包括了解CRM平台的用途、解决的业务需求&#xff0c;以及如何使用Sa…