首页 > 其他分享 >5.31

5.31

时间:2023-05-31 23:45:15浏览次数:61  
标签:gt sheet 红球 write lt 5.31 data

代码行数:200H

学习内容:完成python提交大作业。

学习计划:期末完成及格

from tkinter import Tk, Label, Button, Entry
import xlwt as xlwt
from lxml import etree
import requests
import pandas as pd
import matplotlib.pyplot as plt

def two_color_ball():
url = entry.get()
xls = xlwt.Workbook() # 创建一个新的 Excel 文件
sheet = xls.add_sheet("two_color_ball", cell_overwrite_ok=True) # 创建一个名为 "two_color_ball" 的工作表,并允许单元格覆盖写入
row = 1 # 初始化行数
# url = "http://m.55123.cn/kjh/ssq-history-120.htm" 定义要爬取的网站 URL
req = requests.get(url) # 发送 GET 请求并获取响应数据
resp = req.content.decode("utf-8") # 将响应数据转换为 UTF-8 编码格式
html = etree.HTML(resp) # 使用 etree 解析 HTML 响应数据
uls = html.xpath("/html/body/div[@class='wrap']/div[@class='lottery']/ul") # 查找 HTML 文档中的所有 <ul> 元素,并返回包含这些元素的列表
dates = []
nums = []
for ul in uls: # 遍历每个 <ul> 元素
date = ul.xpath("li/span[@class='dates']") # 获取当前 <ul> 元素下的 <li> 子元素的 <span> 子元素(class="dates")的文本内容,并返回包含这些元素的列表
number = ul.xpath("li/a/span[@class='ball lred']/text()") # 获取当前 <ul> 元素下的 <li> 子元素的 <a> 子元素的 <span> 子元素(class="ball lred")的文本内容,并返回包含这些元素的列表
tail_number = ul.xpath("li/a/span[@class='ball lblue']/text()") # 获取当前 <ul> 元素下的 <li> 子元素的 <a> 子元素的 <span> 子元素(class="ball lblue")的文本内容,并返回包含这些元素的列表
dates.append(date[0].text)
nums.append([number[i] for i in range(len(number))] + [tail_number[0]])
sheet.write(0, 0, "期数")
sheet.write(0, 1, "红球1")
sheet.write(0, 2, "红球2")
sheet.write(0, 3, "红球3")
sheet.write(0, 4, "红球4")
sheet.write(0, 5, "红球5")
sheet.write(0, 6, "红球6")
sheet.write(0, 7, "蓝球1")
for i in range(len(dates)):
sheet.write(i+1, 0, dates[i])
sheet.write(i+1, 1, nums[i][0])
sheet.write(i+1, 2, nums[i][1])
sheet.write(i+1, 3, nums[i][2])
sheet.write(i+1, 4, nums[i][3])
sheet.write(i+1, 5, nums[i][4])
sheet.write(i+1, 6, nums[i][5])
sheet.write(i+1, 7, nums[i][6])
xls.save("two_color_ball.xls")
data = pd.read_excel("two_color_ball.xls")
plt.plot(data["期数"], data["红球1"], label="红球1", marker="o")
plt.plot(data["期数"], data["红球2"], label="红球2", marker="o")
plt.plot(data["期数"], data["红球3"], label="红球3", marker="o")
plt.plot(data["期数"], data["红球4"], label="红球4", marker="o")
plt.plot(data["期数"], data["红球5"], label="红球5", marker="o")
plt.plot(data["期数"], data["红球6"], label="红球6", marker="o")
plt.plot(data["期数"], data["蓝球1"], label="蓝球1", marker="o")
plt.legend()
plt.show()

root = Tk()
root.title("双色球历史数据分析")
root.geometry("400x200")

label = Label(root, text="请输入要爬取的双色球历史数据 URL:")
label.pack()

entry = Entry(root)
entry.pack()

button = Button(root, text="爬取并分析", command=two_color_ball)
button.pack()

root.mainloop()

标签:gt,sheet,红球,write,lt,5.31,data
From: https://www.cnblogs.com/qq2143187807/p/17447693.html

相关文章

  • 2023.5.31——软件工程站立会议(阶段二)
    站立会议内容:1.整个项目预期的任务量:目前已经花的时间:剩余的时间:2.任务看板照片: 3.团队照片: 4.产品状态:最新做好的功能:正在完成中5.燃尽图:......
  • 2023.5.31——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午考数据库。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 2023.5.31 Linux系统⽤户管理
    1.⽤户基本概述1.1⽤户相关的命令1.2⽤户创建的原理2.⽤户密码管理3.组的基本管理4.⽤户身份切换5.⽤户身份提权6.⽇志相关审计1.⽤户基本概述Linu属于多⽤户操作系统,在windows中,可以创建多个⽤户,但不允许同⼀时间多个⽤户进⾏系统登陆,但是Linux可以同时⽀持多个⽤户同时登陆......
  • 2023.5.31-Linux系统基本权限
    02.Linux系统基本权限1.权限修改命令chmod2.属主属组修改命令chown3.基础权限设置案例Linux中的⽂件或⽬录的权限和⽤户及⽤户组关联很⼤,Linux中每个⽂件或⽬录都有⼀组共9个基础权限位,每三个字符被分为⼀组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他⽤户权......
  • 5.31每日总结
    今天又重新弄了弄周一考试的题,然后找了几个认识的朋友下载了以下简单测试。<%@pageimport="wangzhan.Thesql"%><%@pageimport="wangzhan.Pd_P_assignment"%><%@pageimport="wangzhan.Pd_S_assignment"%><%@pagelanguage="java"cont......
  • 2023.5.31每日总结
    <%--CreatedbyIntelliJIDEA.User:王磊Date:2023/5/29Time:15:52TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pageimport="softwareengin.teacher"%><%@pageimport="softwareengin.AllMet......
  • 每日总结-23.5.31
    <%@pageimport="java.util.Calendar"%><%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional......
  • 5.31 保研夏令营第一拒
    保研术语说明:rk:排位,即绩点排名oq:overqualified比如清北大佬投西电寄了,吉大SE没入营,呜呜呜,听说卡rk1,不知道是不是oq了,但是还是很难受,不过幸亏吉大老师安慰我,等9.28之后掉甲给大家推荐一下这位老师!......
  • [leetcode每日一题]5.31
    1130. 叶值的最小代价生成树提示中等324相关企业给你一个正整数数组 arr,考虑所有满足以下条件的二叉树:每个节点都有 0 个或是 2 个子节点。数组 arr 中的值与树的中序遍历中每个叶节点的值一一对应。每个非叶节点的值等于其左子树和右子树中叶节点的最大值的乘积。在所有这......
  • CCleaner v5.31.0.6105
    FreeEdition: http://download.piriform.com/ccsetup531.exePortable: http://www.piriform.com/ccleaner/download/portable/downloadfile ProfessionalEdition(Old......