天数:第九天
时间:2023年12月23日
内容:
- 实用第三方模块
- 1. baidu-aip人工智能接口 图片识别 看应用文档 但是这个第三方模块要付费
from aip import AipOcr """ 你的 APPID AK SK """ (去baiduai,ai,文字识别,能找到)(下面是我练习用的,我已经删了) APP_ID = '45542706' API_KEY = '1MdLE3KGZiqptrppwH9O1Cxd' SECRET_KEY = 'KjhCYAtioY5wdzMQCGMusdr8iIzis7Mh' #AipOcr客户端对象 client = AipOcr(APP_ID, API_KEY, SECRET_KEY) with open(r"C:\Users\gw\OneDrive\桌面\python\xxxxxx\名片.jpg","rb") as file1: data = file1.read() res_image = client.basicGeneral(data) print(res_image)
- 2. pyEmail邮件处理 需要3个信息实现程序发送功能(发送人邮箱,发送人smtp客户端密码,收件人邮箱)
#pyEmail邮件处理 import logging #运行流程 #理论 # 微信短信发送 客户端1 ------- 微信服务器 ------ 客户端2 # 邮箱发送 客户端1(网易) ------- 网易服务器 ------ qq服务器 ------ 客户端2(qq) # 实现多平台发送,实现不同服务器发送 需要签署3个邮箱协议 smtp协议 imap协议 pop协议 #实际 # 每个用户有2个密码 # 1. 账户 2. 账户密码 3. 客户端授权码(进入邮箱的设置中找到'pop/smtp/imap') import smtplib #smtp协议包 from email.mime.text import MIMEText #用于构建邮箱内容 msg_from = "发送人的邮箱: 例:1733568542@111.com" password = "客户端授权码" msg_to = "收件人邮箱" #构造邮箱内容 subject = "测试邮件" content = "恭喜你!中了5毛" msg = MIMEText(content) msg["Subject"] = subject #msg["Subject"]注意大小写 msg["From"] = msg_from #同上 msg["To"] = msg_to #同上 #发送邮箱 smtpObj = smtplib.SMTP_SSL("smtp.111.com",456) #smtpObj smtp.111.com是你在自己定义的,比如我是:1733568542@111.com,就是smtp.111.com 456要自己查一下,163和126应该是456 smtpObj.login(msg_from,password) #登录 smtpObj.sendmail(msg_from,msg_to,str(msg)) #发送邮件 print("发送成功!") smtpObj.quit()
- 3. tushare股票价格自动监控 简单实操,不需要复杂准备
# tushare股票价格自动监控 # 需求:设置一只股票价格买入或者卖出,程序对价格监控,当价格达到预定值时给我发消息提醒 import time import tushare #自己写了个自动股票提醒,当满足条件是触发,可自己diy,实现邮件提醒 while 1 ==1: buypoint =5.2 salepoint = 5.6 data = tushare.get_realtime_quotes('300530') #“300530”是股票代码 # print(data) name = data.iloc[0, 0] # data.iloc[0,0]可调出指定位置信息(第0个信息中,第0个内容) 股票内容 pre_close = float(data.iloc[0, 2]) # 将字符串转换为浮点数 price = float(data.iloc[0, 3]) print(name, pre_close, price) change = round((price - pre_close)/pre_close,4) #今日涨幅 msg = "股票信息: "+name+", 当前价格: "+str(price)+" 元,涨幅: "+str(change*100)+" %" print(msg) if price<= buypoint: print("此价格低,可买入!") elif price >= salepoint: print("价格达到卖点,清仓!") else: print("不做任何操作!") time.sleep(5) #每五秒刷新一次
- 4. requests爬包获取音乐 需要找到可爬取的内容,很多都会有屏蔽,要找没屏蔽的
- 抓包与之前抓取的baidu不同,抓包是:在一个网址里只抓取我们想要的内容(按F12,禁掉现在没用的东西,因为我们想要的音乐还没开始播放,再按F5刷新,音乐开始播放,找大小最大的项目即可,复制这个url就行)
import requests #抓包获取音乐的链接 url = r"https://m701.music.126.net/20231223184215/14e1e32603befa8b91eb023f3d46a388/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/32267124260/2c6b/f86b/698a/e80913b14ce436ac0c649b64a2e42ee6.m4a" #get()向服务器发送get请求 .content获取二进制数据 data = requests.get(url).content #写入本地 格式记得与爬取的格式相同 with open(r"C:\Users\gw\OneDrive\桌面\python\使用第三方模块\爬到的音乐.m4a","wb") as f: data1 = f.write(data)
- 抓包与之前抓取的baidu不同,抓包是:在一个网址里只抓取我们想要的内容(按F12,禁掉现在没用的东西,因为我们想要的音乐还没开始播放,再按F5刷新,音乐开始播放,找大小最大的项目即可,复制这个url就行)
- 5. pyecharts数据可视化(好处1:html和css很困难,用这个简单)(好处2:得到结果是一个html文档,按F12能得到html)(先图,后码)
-
-
from pyecharts.charts import Bar # 柱状图 from pyecharts import options as opts # 添加参数 bar = Bar() #建一个柱状图对象 bar.add_xaxis(["衬衫","毛衣","裙子","风衣","T袖"]) #x轴 bar.add_yaxis("商家1销售量",[98,45,63,64,22]) #y轴数据 bar.add_yaxis("商家2销售量",[85,35,63,95,32]) #y轴数据 bar.add_yaxis("商家3销售量",[30,26,63,85,11]) #y轴数据 bar.add_yaxis("商家4销售量",[75,44,58,95,35]) #y轴数据 bar.set_global_opts(title_opts=opts.TitleOpts(title="商场销售情况")) #标题 bar.render(r"C:\Users\gw\OneDrive\桌面\python\使用第三方模块\商场销售情况bar图.html")
-
from pyecharts.charts import Pie # 饼图 from pyecharts import options as opts # 添加参数 pie =Pie() items = ["衬衫","毛衣","裙子","风衣","T袖"] inform = ([456,753,654,852,159]) dataList = [] for s in range (0,len(items)): data = (items[s],inform[s]) dataList.append(data) pie.set_global_opts(title_opts=opts.TitleOpts(title="商场销售情况")) #标题 pie.add("单位:万",dataList) pie.render(r"C:\Users\gw\OneDrive\桌面\python\使用第三方模块\商场销售情况pie图.html")
from pyecharts.charts import Line # 折线图 from pyecharts import options as opts # 添加参数 line = Line() x = ["1月","2月","3月","4月","5月","6月"] y1 = [100,521,456,852,753,951] y2 = [159,147,852,369,874,123] line.add_xaxis(xaxis_data=x) line.add_yaxis(y_axis=y1,series_name="海南") line.add_yaxis(y_axis=y2,series_name="长沙") line.set_global_opts(title_opts=opts.TitleOpts(title="降雨量")) #标题 line.render(r"C:\Users\gw\OneDrive\桌面\python\使用第三方模块\降雨量line图.html")
-
-
- 6.pygame游戏开发 (这个资料我上传了,想玩的找一下)
-
import pygame import sys import time #创建窗口 screen = pygame.display.set_mode((400,300)) #读取图片 img1 = pygame.image.load(r"C:\Users\gw\OneDrive\桌面\python\xxxxxx\background.jpg") #背景 img2 = pygame.image.load(r"C:\Users\gw\OneDrive\桌面\python\xxxxxx\player.png") #玩家 #在窗口中加入对象 screen.blit(img1,(0,0)) #背景,位置是(0,0) screen.blit(img2,(50,80)) #飞机放置,位置是(200,150) #刷新窗口,显示所有对象 pygame.display.update() time.sleep(10) sys.exit()
现在让飞机左右移动起来:
-
import pygame import time #创建窗口 screen = pygame.display.set_mode((400,300)) #读取图片 img1 = pygame.image.load(r"C:\Users\gw\OneDrive\桌面\python\xxxxxx\background.jpg") #背景 img2 = pygame.image.load(r"C:\Users\gw\OneDrive\桌面\python\xxxxxx\player.png") #玩家 while 1==1: a = 10 #x轴位置 for s in range(0, 60): screen.blit(img1, (0, 0)) screen.blit(img2, (a, 100)) #刷新窗口显示所有对象 pygame.display.update() if s <= 30: a+=10 #向右移动10个像素 else: a-=10 #向左移动10个像素 time.sleep(0.5)
- python程序打包exe文件 :使用python程序要先配置环境;那么当我把开发好的程序给用户时,他也要配置环境,但是为了让用户直接使用,我们就要打包成exe文件
- 安装pyinstaller
- 定位到在想要的文件里: 格式:cd 文件位置
- 进入指定位置后,1. 按住shift,右键打开power sheller 2. 执行:格式:pyinstaller -F 文件名
- tips:1. 如果内容需要依赖的材料,要移进去 2.生成很多文件出来,只有dist有用,其余删掉