学习PYTHON半个多月,写的一个VIP视频播放器(半成品)
本人小学学历(初中上了1年),33岁,学习PYTHON大概1个多月(实际学习12天基础知识),说句实在话,对于我来说,真的很难,一直在坚持。对于这段代码除了一些基础知识,其他都是我自己根据需求,不停的百度出来的,在查找的同时吸取相应的知识,代码臃肿,条理混乱。
希望有哪位大神有闲时的话,可以给予一些指导。
@54048371 哥们,看你的代码真的很舒服,简洁,明了,条理清晰,不知是否可以联系一下,有空一起学习。
import urllib.request
import json
import requests
import re
import tkinter as tk
import webbrowser
class VIP:
def __init__(self):
self.程序 = tk.Tk()
self.程序.title('VIP视频播放')
self.程序.geometry('+100+100')
self.程序.minsize(400, 200)
self.程序.resizable(True, True)
self.标签 = tk.Label(self.程序,text='VIP视频播放', anchor='e', font=('', 30), width=14, height=2)
self.标签.grid()
self.输入框()
self.搜索 = tk.Button(self.程序, text="搜索", font=("Arial",12), width=15, height=2, command=self.搜索按钮)
self.搜索.grid()
tk.Button(self.程序, text="播放", command=self.changeItems).grid()
def 搜索电影(self, huoqu):
mingc = huoqu
if mingc != 'q':
sousuo_url = 'https://api.okzy.tv/index.php/vod/search.html?wd={}&submit=search'.format(mingc)
response = requests.get(sousuo_url)
html = response.text# 获取网页内容
else:
exit()
if len(re.findall(r'<h1>没有找到匹配数据</h1>', html)) == 0:
sp_ids = re.findall(r'<span class="xing_vb4"><a href="/index.php/vod/detail/id/(.*?).html"', html)
self.get_record(sp_ids)# 传递函数及参数
else:
print('抱歉,未能找到您想要看的视频!!!')
def get_record(self, ids_url_c):
url_list = []
url_list2 = []
jishu_list = []
self.url_list3 = []
# 拼接需要整理的视频链接
url = 'http://api.okzy.tv/api.php/provide/vod/?ac=detail&ids={}'.format(ids_url_c)
response1 = urllib.request.urlopen(url)# 打开url并返回网页数据
neirong = response1.read()# 读取网页内容
jiema_neirong = json.loads(neirong)# 给网页解码
neirong2 = jiema_neirong['list']['vod_play_url']# 获取指定的json内容
neirong2_list = neirong2.split('#')# 将获取到的内容以'#'分割
for i in range(len(neirong2_list)):# 获取内容数量
url_list.append(neirong2_list)# 将获取到的每个内容添加到空列表里
if '$$$' in url_list:# 判断每个获取到的内容是否包含字符串'$$$'
changdu = len(url_list)# 获取每个内容的长度
weizhi = url_list.index('$$$')# 获取包含字符串'$$$'的位置
url_str = url_list# 获取到的位置有位差,进行补位
su = url_str.split('$')# 将获取到的内容再次分割
jishu_list.append(su)# 将列表下标为0(也就是集数)内容添加到集数列表
self.url_list3.append(su)# 将列表下标为1(也就是视频链接)添加到链接列表
url_list2.append(url_str)# 将获取到的内容添加到新列表
# 由于这个json有一个地址不好分开,所以用上面的步骤操作
elif 'index.m3u8' in url_list:# 判断获取到的内容是否包含'index.m3u8',只获取m3u8格式链接
su = url_list.split('$')# 将获取到的内容再次分割
url_list2.append(url_list)# 将获取到的内容添加到新列表
jishu_list.append(su)# 将列表下标为0(也就是集数)内容添加到集数列表
self.url_list3.append(su)# 将列表下标为1(也就是视频链接)添加到链接列表
self.电视列表(jishu_list)
def 电视列表(self,jishuq):
self.tnames = jishuq
self.cnames = tk.StringVar()
self.cnames.set(self.tnames)
self.lb1 = tk.Listbox(self.程序, listvariable=self.cnames, width=15, selectmode="extended")
self.lb1.grid()
def 输入框(self):
self.提示标签 = tk.Label(self.程序, text='请输入您想查询的电视名称', font=('', 10), width=50, height=2)
self.提示标签.grid()
self.输入 = tk.Entry()
self.输入.grid()
def changeItems(self):
self.indexs = self.lb1.curselection()
for i in range(len(self.indexs)):
print('1', self.indexs)
aaa = self.indexs
self.播放按钮(aaa)
def 播放按钮(self, xxx):
webbrowser.open("http://jx.sang0.com/?v={}".format(self.url_list3))
def 搜索按钮(self):
self.搜索电影(self.输入.get())
if __name__ == '__main__':
op = VIP()
op.程序.mainloop() 你好 可以加个联系方式一起学习吗 BestPapa 发表于 2020-2-15 15:44
真的是,我每次说要学,每次都是看完理论就没继续了
我以前也是,一开始的想法是,找个培训机构,系统学习,但是我这边小城市,整个城市都没有教变成的,后来仔细想想,就算没有培训机构,自己慢慢学习,慢慢练习,每次也能丰富自己,唯一的不足就是,如果是有人手把手教的话,一些问题会少绕很多弯路,现在自己自学,很多地方明明很简单,可还是需要不停的百度,不停的自己实践才能理解的更透彻。不过不论如何,慢慢来,每天进步一点点,时间是积累知识最好的方法 兄弟 我也想学Python,求推荐 中文变量名?一般不建议用中文变量名的,会有各种迷之报错 佩服楼主的学习精神!!! 给楼主的学习精神点赞 PYTHON和易语言 哪个实用? ybl 发表于 2020-2-4 16:33
兄弟 我也想学Python,求推荐
我在这说公众号会违反规则吗?我是通过公众号“python学习联盟”的基础知识,后面深入的要花钱了。我还没花钱学:lol 从哪里学习啊 netCheney 发表于 2020-2-4 16:33
中文变量名?一般不建议用中文变量名的,会有各种迷之报错
我也是昨天才知道可以使用中文变量名的,尝试一下,毕竟对我们这种小学毕业的人,英文基础实在是太差了{:1_937:}后面对代码各方面更熟悉后,会改回来使用英文变量的,实在不行用拼音都行,哈哈 惭愧。。。零零散散学了一些时间,比不上你