python爬取彩票排列三开奖结果

import gzip
import re
from urllib import requestimport xlwt
from bs4 import BeautifulSoup# 参数说明:
#   period: 开奖期数
#   redo_num: 重试次数,默认是0,每错误一次回调时会+1,默认就好
#   max:最大重试次数,默认5
def get_pls(period, redo_num=0, redo_max=5) -> dict:try:url = 'http://kaijiang.500.com/shtml/pls/%05d.shtml' % periodreq = request.Request(url)# 设置一下头,不设置返回结果不正确req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/79.0.3945.117 Safari/537.36')req.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,''application/signed-exchange;v=b3;q=0.9')req.add_header('Accept-Encoding', 'gzip')req.add_header('Accept-Language', 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7')req.add_header('Cache-Control', 'max-age=0')req.add_header('Host', 'kaijiang.500.com')req.add_header('Referer', 'http://kaijiang.500.com/shtml/pls/04001.shtml')req.add_header('Upgrade-Insecure-Requests', 1)req.add_header('Cookie','ck_regchanel=baidu; regfrom=0%7Cala%7Cbaidu; sdc_session=1579657460948; ')# 发送请求并读取结果html_content = request.urlopen(req).read()# 由于编码格式是gzip,所以需要进行解压html_content = gzip.decompress(html_content)# 解压后是一个bytes流,需要转换为字符串进行html解析html_content = html_content.decode('utf-8', errors='ignore')# 解析为soup构建的html对象soup = BeautifulSoup(html_content, 'html.parser')# 获取原始开奖号码(先定位到标签)pls_rst = soup.find_all('li', attrs={'class': 'ball_orange'})# 获取原始开奖期数qi_shu = soup.find_all('font', attrs={'class': 'cfont2'})# 获取原始开奖日期 - 截止兑奖日期pls_date = soup.find('span', attrs={"class": "span_right"})# 解析期数qi_shu = qi_shu[0].get_text() if qi_shu else period# 解析日期match_obj = re.findall(r'\d+', pls_date.get_text())# 开奖日期 解析不到取空start_date = match_obj[0] if match_obj else ''# 截止兑奖日期 解析不到取空end_date = match_obj[1] if match_obj else ''# 解析开奖号码# 第 1 位pls_1 = pls_rst[0].get_text()# 第 2 位pls_2 = pls_rst[1].get_text()# 第 3 位pls_3 = pls_rst[2].get_text()return {'period': qi_shu, 'num_1': pls_1, 'num_2': pls_2, 'num_3': pls_3, 'all': pls_1 + pls_2 + pls_3,'open_date': start_date, 'end_date': end_date}except OSError:# 达到最大请求次数,还是无法解压,则返回空if redo_num > redo_max:return {'period': qi_shu, 'num_1': '', 'num_2': '', 'num_3': '', 'all': '','open_date': '', 'end_date': ''}# 请求可能返回的结果不符合gzip格式所以这里做一下处理,不符合格式重新请求,一直到符合格式return get_pls(period, redo_num + 1)'''
python 获取彩票【排列三】指定【期数区间】的的开奖号,并保存为Excel
需要用到的库: BeautifulSoup:html解析从dom中获取需要的数据xlwt:Excel操作urllib.request:发送HTTP请求并接收结果re:正则表达式,提取字符串中的有效数据gzip:解压gzip格式的压缩数据
一次不要爬太多期哦,不然会很慢
'''
if __name__ == '__main__':l = []# 开始爬取的期数start = 4001# end = 20021# 结束爬取的期数end = 4020for q in range(start, end):rs = get_pls(q)l.append(rs)book = xlwt.Workbook()sheet = book.add_sheet('排列三')for index, head in enumerate(['期数', '第1位', '第2位', '第3位', '全部', '开奖日期', '兑奖截止日期']):sheet.write(0, index, head)row = 1for r in l:col = 0for key, value in r.items():sheet.write(row, col, value)col += 1row += 1book.save('排列三.xls')

欢迎关注公众号一起成长

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

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

相关文章

java 日语文档翻译_日语文档怎么翻译?我来教会你日语翻译

小编是一个资深日漫迷,但是每次去看完日漫电影都觉得结尾留有遗憾。其实有很多日漫电影的内容都被修改了。为了能看到原版的日漫内容,小编终于从网上找到了一些有关原版日漫故事情节的文档。可是全都是日语,我一句都看不懂。日语文档怎么翻译…

从NLP视角看电视剧《狂飙》,会有什么发现?

文章目录 1、背景2、数据获取3、文本分析与可视化3.1 短评数据预处理3.2 词云图可视化3.3 top关键词共现矩阵网络3.4 《狂飙》演职员图谱构建 4、短评相关数据分析与可视化5、总结 原文请关注:实用自然语言处理 作者:风兮 建议查看原文: ht…

【CV】第 9 章:图像分割

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

分镜头脚本表格模板下载

打算做一个从 0-1 创作短视频的系列教程,前几期已经发在微信视频号创造营上。 第一课:五个实用的视频拍摄技巧: 总结为:加速、减速、遮罩转场、利用前景和航拍,可以让你的视频更好看。 今天分享第二课:如何…

chatgpt赋能python:用Python编写AI:从入门到精通

用Python编写AI:从入门到精通 人工智能(AI)一直是计算机科学领域的热门话题。随着AI技术的成熟,越来越多的公司开始在其业务中应用AI。Python是机器学习和人工智能领域最流行的编程语言之一,Python提供了众多强大的库…

chatgpt赋能python:Python滑动窗口算法详解

Python滑动窗口算法详解 滑动窗口算法是一种常用的算法,常被用于处理一些队列、数组和字符串等相关的问题。在Python编程中,滑动窗口算法的运用场合非常广泛,因此熟练掌握Python滑动窗口算法是每个Python工程师必备的技能之一。 滑动窗口算…

实现微信公众号发送消息给指定用户

一、前言 在实际项目开发中,需要实现消息中心向关注微信公众号的指定用户发送消息通知,在翻阅了网上很多资料及微信官方开发文档后,最终顺利完成功能开发,但是其中走过的路艰辛且曲折,因此特将开发过程中踩过的坑及心…

【uiautomation】微信群发消息,可发送文本 文件

前言 接到了一个需求:现微信有8000好友,需要给所有好友发送一则一样的消息。网上搜索一番后,发现uiautomation 可以解决该需求,遂有此文。这是第二篇,群发消息给微信好友 代码在文章末尾,自取~ 更多功能的微…

java发送微信订阅消息

使用java发布订阅消息 之前接到了一个需求,要求我使用java发布订阅消息。那么首先,我要知道订阅消息是个什么,他能完成什么功能 一.什么是订阅消息 我直接去官网查看订阅消息的相关文档说明: https://developers.weixin.qq.com…

微信公众号开发——向指定用户发送模板消息

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: 微信公众号开发——向指定用户发送模板消息 ⏱️ 创作时间&#xff1a…

微信公众号一次性订阅消息功能开发实践

截止到2021年6月10日,微信公众号测试号是不支持“微信公众号一次性订阅消息”的开发,必须用正式的微信公众号测试,那如何在不影响正式的微信公众号运营的情况下来开发这个小功能呢,请看看笔者的实践。 微信一次性订阅官方开发文档…

python实现微信公众号给你的重要用户推送消息

最近小红书上这个很火,觉得做起来应该也不会太难,捣鼓了两天有了初步成效,还有一些功能没实现(比如定时推送),保姆级教程,大家可以借鉴,动手给自己重要的人做一个,或许可…

JAVA对接微信公众号(服务号、订阅号)实现模板消息推送功能

最近做了个需求要求对接微信公众号,使用模板进行消息推送,今天抽时间总结一下相关的逻辑。 大概逻辑分为四个步骤: 获取微信调用接口凭证access_token。获取微信模板列表。使用模板进行消息推送。公众号配置服务器URL。 我这里的实现没有使…

微信开发工具实现订阅消息功能

微信开发工具实现订阅消息功能 1、新建文件夹&#xff0c;取名为&#xff1a;push1 2、push1.wxml写下如下代码&#xff1a; <button bindtap"dingyue">订阅</button>3、push1.js写下如下代码&#xff1a; // pages/push1/push1.js Page({/*** 页面…

微信公众号 - Java推送小程序订阅消息给用户

不啰嗦&#xff0c;我们直接开始&#xff01; 本文使用体验版小程序进行调试。 一、开发前小程序准备&#xff1a; 1、登录微信公众平台 点开下面链接&#xff0c;使用微信扫码 微信公众平台 然后选择一个小程序并登录 2、在小程序后台找到Appid、AppSecret、Token、Encod…

微信公众号订阅号开发的学习(二):获取用户发送的消息、简单的自动回复、自定义菜单

获取用户发送的消息 基础 微信服务器会发送两种类型的消息给开发者服务器。 get请求 验证服务器的有效性post请求 微信服务器会将用户发送的数据转发到开发者服务器上 实现 基于微信公众号订阅号开发的学习&#xff08;一&#xff09;&#xff1a;基础知识 auth.js //引…

微信第三方平台集成公众号发送模板消息

最近老板下发了个任务&#xff0c;有一个业务是整合用户的微信公众号&#xff08;服务号&#xff09;&#xff0c;然后在我们的erp系统里给下家客户发送模板消息&#xff0c;找了一下发现微信第三方平台可以实现&#xff0c;那就干起来。 先在微信开放平台&#xff0c;申请一个…

元宇宙iwemeta:元宇宙数字人实践落地应用场景

把虚拟数字人装进你的手机&#xff01;百度、腾讯、讯飞盯准这条新赛道。 短短三个月内&#xff0c;几乎每一家拥有智能语音技术能力的大厂都在采取行动布局虚拟数字人。 百度、华为、阿里等都纷纷引入AI数字人入职&#xff0c;担任技术宣讲员、形象代言人&#xff1b;OPPO、…

考研人常说的“死亡211”和“984.5”是什么学校?

&#x1f603;这几所211院校&#xff0c;真香&#xff01;被称为984.5&#xff01;众所周知&#xff0c;985高校是国内最顶尖的一批名牌大学&#xff0c;每年报考的人都疯狂扎堆&#xff0c;分也很高&#xff0c;想去分一杯羹很难。但考个一般211吧&#xff0c;有时又不甘心&am…

华工计算机网络辅修,【JZT干货】双手献上华工辅修攻略

原标题&#xff1a;【JZT干货】双手献上华工辅修攻略 辅修进行了一个多月&#xff0c;相信小伙伴们也对辅修有了基本的了解。那么各课程的期末考试是怎样的&#xff1f;一些老师上课有什么特点&#xff1f;想了解吗&#xff0c;团仔在此献上纯干货给大家。 当然啦&#xff0c;涉…