使用 Python 爬取并打印双色球近期 5 场开奖数据

使用 Python 爬取并打印双色球近期 5 场开奖数据

  • 前期准备
    • 安装所需库
  • 完整代码
  • 代码解析
    • 1. 导入必要的库
    • 2. 定义函数 get_recent_five_ssq
    • 3. 设置请求的 URL 和 Headers
    • 4. 发送请求并处理响应
    • 5. 解析 HTML 内容
    • 6. 提取并打印数据
    • 7. 错误处理

首先看下运行的效果图:
在这里插入图片描述
我访问官网对比近5期的结果是没有问题的:
在这里插入图片描述

我们将使用 Python 爬取并打印双色球近期 5 场的开奖数据。这个过程涉及到网页抓取和数据解析,利用 requests 库来发送 HTTP 请求以获取数据,以及 BeautifulSoup 库来解析 HTML 内容。最终,打印出期号、日期、红球和蓝球的信息。

前期准备

安装所需库

首先,确保你已经安装了 requestsBeautifulSoup 库。你可以使用以下命令进行安装:

pip install requests beautifulsoup4

完整代码

下面是整个的完整代码:

import requests
from bs4 import BeautifulSoupdef get_recent_five_ssq():# 目标URL,用于获取最新的开奖信息url = "https://datachart.500.com/ssq/history/newinc/history.php?start=00001&end=99999"headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"}try:# 发送请求获取网页内容response = requests.get(url, headers=headers)response.encoding = 'gbk'  # 设置正确的编码方式response.raise_for_status()# 解析网页内容soup = BeautifulSoup(response.text, 'html.parser')table = soup.find('tbody', {'id': 'tdata'})if not table:print("无法找到开奖数据表格,可能是网页结构发生变化。")return# 提取最新的5场开奖数据recent_five = table.find_all('tr')[:5]  # 取前5行数据# 打印开奖结果for row in recent_five:cols = row.find_all('td')issue = cols[0].text.strip()date = cols[15].text.strip()red_balls = [cols[i].text.strip() for i in range(1, 7)]blue_ball = cols[7].text.strip()print(f"期号: {issue}, 日期: {date}, 红球: {', '.join(red_balls)}, 蓝球: {blue_ball}")except requests.RequestException as e:print(f"请求错误: {e}")# 执行函数
get_recent_five_ssq()

代码解析

1. 导入必要的库

import requests
from bs4 import BeautifulSoup

这两行代码导入我们将要使用的库。 requests 用于发送 HTTP 请求,而 BeautifulSoup 用于解析 HTML 内容。

2. 定义函数 get_recent_five_ssq

def get_recent_five_ssq():

我们定义了一个函数 get_recent_five_ssq 来封装获取并打印双色球开奖数据的操作。

3. 设置请求的 URL 和 Headers

url = "https://datachart.500.com/ssq/history/newinc/history.php?start=00001&end=99999"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
}
  • URL : 指向 500 彩票的双色球历史开奖信息页面。
  • Headers : 设置请求的 User-Agent ,模拟浏览器请求以避免被服务器拒绝。

4. 发送请求并处理响应

response = requests.get(url, headers=headers)
response.encoding = 'gbk'  # 设置正确的编码方式
response.raise_for_status()
  • 使用 requests.get 发送 GET 请求。
  • 设置 response.encodinggbk ,以确保能正确处理网页的编码格式。

5. 解析 HTML 内容

soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('tbody', {'id': 'tdata'})
  • 通过 BeautifulSoup 解析 HTML 内容。
  • 使用 soup.find 找到包含开奖数据的表格。

6. 提取并打印数据

recent_five = table.find_all('tr')[:5]  # 取前5行数据
for row in recent_five:cols = row.find_all('td')issue = cols[0].text.strip()date = cols[15].text.strip()red_balls = [cols[i].text.strip() for i in range(1, 7)]blue_ball = cols[7].text.strip()print(f"期号: {issue}, 日期: {date}, 红球: {', '.join(red_balls)}, 蓝球: {blue_ball}")
  • 提取最新的 5 场开奖数据。
  • 遍历每行数据,并提取期号、日期、红球和蓝球的信息。
  • 使用 print 函数打印每场开奖的结果。

7. 错误处理

except requests.RequestException as e:print(f"请求错误: {e}")
  • 使用 try/except 捕获并处理请求过程中可能出现的异常。

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

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

相关文章

前端快速入门学习3——CSS介绍与选择器

1.概述 CSS全名是cascading style sheets,中文名层叠样式表。 用于定义网页样式和布局的样式表语言。 通过 CSS,你可以指定页面中各个元素的颜色、字体、大小、间距、边框、背景等样式,从而实现更精确的页面设计。 HTML与CSS的关系:HTML相当…

JVM 内存区域详解

JVM 内存区域详解 Java 虚拟机(JVM)的内存区域划分为多个部分,每个部分有特定的用途和管理机制。以下是 JVM 内存区域的核心组成及其功能: 一、运行时数据区(Runtime Data Areas) 1. 线程共享区域 内存…

基于SpringBoot的水产养殖系统【附源码】

基于SpringBoot的水产养殖系统(源码L文说明文档) 目录 4 系统设计 4.1 总体功能 4.2 系统模块设计 4.3 数据库设计 4.3.1 数据库设计 4.3.2 数据库E-R 图 4.3.3 数据库表设计 5 系统实现 5.1 管理员功能模块的实…

从零构建大语言模型全栈开发指南:第五部分:行业应用与前沿探索-5.2.2超级对齐与AGI路径探讨

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 大语言模型全栈开发指南:伦理与未来趋势 - 第五部分:行业应用与前沿探索5.2.2 超级对齐与AGI路径探讨超级对齐:定义与核心挑战1. 技术挑战2. 伦理挑战AGI发展路径:从专用到通用智能阶段1:`专用智能…

基于大模型的重症肌无力的全周期手术管理技术方案

目录 技术方案文档1. 数据预处理模块2. 多任务预测模型架构3. 动态风险预测引擎4. 手术方案优化系统5. 技术验证模块6. 系统集成架构7. 核心算法清单8. 关键流程图详述实施路线图技术方案文档 1. 数据预处理模块 流程图 [输入原始数据] → [联邦学习节点数据对齐] → [多模态特…

盲盒小程序开发平台搭建:打造个性化、高互动性的娱乐消费新体验

在数字化浪潮席卷消费市场的今天,盲盒小程序以其独特的趣味性和互动性,迅速成为了年轻人追捧的娱乐消费新宠。盲盒小程序不仅为用户带来了拆盒的惊喜和刺激,更为商家提供了创新的营销手段。为了满足市场对盲盒小程序日益增长的需求&#xff0…

前端对接下载文件接口、对接dart app

嵌套在dart app里面的前端项目 1.前端调下载接口 ->后端返回 application/pdf格式的文件 ->前端将pdf处理为blob ->blob转base64 ->调用dart app的 sdk saveFile ->保存成功 async download() {try {// 调用封装的 downloadEContract 方法获取 Blob 数据const …

Spring常见问题复习

############Spring############# Bean的生命周期是什么? BeanFactory和FactoryBean的区别? ApplicationContext和BeanFactory的区别? BeanFactoryAware注解,还有什么其它的Aware注解 BeanFactoryAware方法和Bean注解的方法执行顺…

C++_类和对象(下)

【本节目标】 再谈构造函数Static成员友元内部类匿名对象拷贝对象时的一些编译器优化再次理解封装 1. 再谈构造函数 1.1 构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:Date(in…

连续数据离散化与逆离散化策略

数学语言描述: 在区间[a,b]中有一组符合某分布的数据: 1.求相同区间中另一组符合同样分布的数据与这组数据的均方误差 2.求区间中点与数据的均方误差 3.求在区间中均匀分布的一组数据与这组数据的均方误差 一:同分布数据随机映射 假设在…

Redash:一个开源的数据查询与可视化工具

Redash 是一款免费开源的数据可视化与协作工具,可以帮助用户快速连接数据源、编写查询、生成图表并构建交互式仪表盘。它简化了数据探索和共享的过程,尤其适合需要团队协作的数据分析场景。 数据源 Redash 支持各种 SQL、NoSQL、大数据和 API 数据源&am…

FreeRTOS的空闲任务

在 FreeRTOS 中,空闲任务(Idle Task) 是操作系统自动创建的一个特殊任务,其作用和管理方式如下: 1. 空闲任务创建 FreeRTOS 内核自动创建:当调用 vTaskStartScheduler() 启动调度器时,内核会自…

Java进阶之旅-day05:网络编程

引言 在当今数字化的时代,网络编程在软件开发中扮演着至关重要的角色。Java 作为一门广泛应用的编程语言,提供了强大的网络编程能力。今天,我们深入学习了 Java 网络编程的基础知识,包括基本的通信架构、网络编程三要素、IP 地址、…

大数据(4.3)Hive基础查询完全指南:从SELECT到复杂查询的10大核心技巧

目录 背景一、Hive基础查询核心语法1. 基础查询(SELECT & FROM)2. 条件过滤(WHERE)3. 聚合与分组(GROUP BY & HAVING)4. 排序与限制(ORDER BY & LIMIT) 二、复杂查询实战…

Synopsys:设计对象

相关阅读 Synopsyshttps://blog.csdn.net/weixin_45791458/category_12812219.html?spm1001.2014.3001.5482 对于Synopsys的EDA工具(如Design Compiler、PrimeTime、IC Compiler)等,设计对象(Design Objects)是组成整个设计的抽象表示&…

【愚公系列】《高效使用DeepSeek》053-工艺参数调优

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…

深度学习篇---模型训练(1)

文章目录 前言一、库导入与配置部分介绍 二、超参数配置简介 三、模型定义1. 改进残差块2. 完整CNN模型 四、数据集类五、数据加载函数六、训练函数七、验证函数八、检查点管理九、主函数十、执行入口十一、关键设计亮点总结1.维度管理2.数据标准化3.动态学习率4.梯度剪裁5.检查…

题解:AT_abc241_f [ABC241F] Skate

一道经典的 bfs 题。 提醒:本题解是为小白专做的,不想看的大佬请离开。 这道题首先一看就知道是 bfs,但是数据点不让我们过: 1 ≤ H , W ≤ 1 0 9 1\le H,W\le10^9 1≤H,W≤109。 那么我们就需要优化了,从哪儿下手…

【含文档+PPT+源码】基于微信小程序的乡村振兴民宿管理系统

项目介绍 本课程演示的是一款基于微信小程序的乡村振兴民宿管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 3.该…

STM32定时器通道1-4(CH1-CH4)的引脚映射关系

以下是 STM32定时器通道1-4(CH1-CH4)的引脚映射关系的详细说明,以常见型号为例。由于不同系列/型号差异较大,请务必结合具体芯片的参考手册确认。 一、STM32F1系列(如STM32F103C8T6) 1. TIM1(高级定时器) 通道默认引脚重映射引脚(部分/完全)备注CH1PA8无互补输出CH1…