吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12753|回复: 111
收起左侧

[Python 转载] 学习PYTHON半个多月,写的一个VIP视频播放器(半成品)

  [复制链接]
gxq229 发表于 2020-2-4 16:01
本人小学学历(初中上了1年),33岁,学习PYTHON大概1个多月(实际学习12天基础知识),说句实在话,对于我来说,真的很难,一直在坚持。
对于这段代码除了一些基础知识,其他都是我自己根据需求,不停的百度出来的,在查找的同时吸取相应的知识,代码臃肿,条理混乱。
希望有哪位大神有闲时的话,可以给予一些指导。
@54048371 哥们,看你的代码真的很舒服,简洁,明了,条理清晰,不知是否可以联系一下,有空一起学习。
[Python] 纯文本查看 复制代码
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)[0]
            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'][0]['vod_play_url']  # 获取指定的json内容
        neirong2_list = neirong2.split('#')  # 将获取到的内容以'#'分割
        for i in range(len(neirong2_list)):  # 获取内容数量
            url_list.append(neirong2_list[i])  # 将获取到的每个内容添加到空列表里
            if '$$$' in url_list[i]:  # 判断每个获取到的内容是否包含字符串'$$$'
                changdu = len(url_list[i])  # 获取每个内容的长度
                weizhi = url_list[i].index('$$$')  # 获取包含字符串'$$$'的位置
                url_str = url_list[i][weizhi+3:]  # 获取到的位置有位差,进行补位
                su = url_str.split('$')  # 将获取到的内容再次分割
                jishu_list.append(su[0])  # 将列表下标为0(也就是集数)内容添加到集数列表
                self.url_list3.append(su[1])  # 将列表下标为1(也就是视频链接)添加到链接列表
                url_list2.append(url_str)  # 将获取到的内容添加到新列表
                # 由于这个json有一个地址不好分开,所以用上面的步骤操作
            elif 'index.m3u8' in url_list[i]:  # 判断获取到的内容是否包含'index.m3u8',只获取m3u8格式链接
                su = url_list[i].split('$')  # 将获取到的内容再次分割
                url_list2.append(url_list[i])  # 将获取到的内容添加到新列表
                jishu_list.append(su[0])  # 将列表下标为0(也就是集数)内容添加到集数列表
                self.url_list3.append(su[1])  # 将列表下标为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[i])
        aaa = self.indexs[i]
        self.播放按钮(aaa)

    def 播放按钮(self, xxx):
        webbrowser.open("http://jx.sang0.com/?v={}".format(self.url_list3[xxx]))

    def 搜索按钮(self):
        self.搜索电影(self.输入.get())

if __name__ == '__main__':
    op = VIP()
    op.程序.mainloop()

免费评分

参与人数 33吾爱币 +26 热心值 +27 收起 理由
矛盾迷茫 + 1 用心讨论,共获提升!
xiaopy2020 + 1 + 1 我很赞同!
TATITzz + 1 前进吧 楼主
woshi123 + 1 我很赞同!
小宝贝233 + 1 + 1 谢谢@Thanks!
guoxu + 1 + 1 用心讨论,共获提升!
ps1989 + 1 + 1 谢谢@Thanks!
richardleong + 1 我很赞同!
lucky6688 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
华月方昊 + 1 + 1 用心讨论,共获提升!
laotun + 1 + 1 我很赞同!
chaff + 1 + 1 我很赞同!
rocwang + 1 谢谢@Thanks!
会唱歌的鬼 + 1 就喜欢你这种放出来代码加上注释的 新手看着不乱套!
菜就是原罪 + 1 + 1 热心回复!
stefaniema + 1 功夫不负有心人,加油
沧海庚桑 + 1 + 1 加油,功夫不负有心人
kaikaixinxin + 1 我很赞同!
飞tian狐li + 1 我很赞同!
sxlcity + 1 + 1 谢谢@Thanks!
天涯共此时8899 + 1 + 1 我很赞同!
JACK线 + 1 确实很难。。
落星大人丶 + 1 + 1 坚持下去!就是胜利!
zp2020qq + 1 我很赞同!
知意执意 + 1 加油,坚持下去
plxchy123 + 1 + 1 用心讨论,共获提升!
ppktc + 1 + 1 用心讨论,共获提升!
like钱 + 1 + 1 我很赞同!
丶虚伪 + 1 + 1 我很赞同!
twostudy + 1 我很赞同!
ljh15 + 1 + 1 加油
chensure + 1 + 1 用心讨论,共获提升!
MartinLee + 1 + 1 加油

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhoushangjun 发表于 2020-2-4 19:22
你好 可以加个联系方式一起学习吗
 楼主| gxq229 发表于 2020-2-15 18:08
BestPapa 发表于 2020-2-15 15:44
真的是,我每次说要学,每次都是看完理论就没继续了

我以前也是,一开始的想法是,找个培训机构,系统学习,但是我这边小城市,整个城市都没有教变成的,后来仔细想想,就算没有培训机构,自己慢慢学习,慢慢练习,每次也能丰富自己,唯一的不足就是,如果是有人手把手教的话,一些问题会少绕很多弯路,现在自己自学,很多地方明明很简单,可还是需要不停的百度,不停的自己实践才能理解的更透彻。不过不论如何,慢慢来,每天进步一点点,时间是积累知识最好的方法
ybl 发表于 2020-2-4 16:33
netCheney 发表于 2020-2-4 16:33
中文变量名?一般不建议用中文变量名的,会有各种迷之报错
mysoft 发表于 2020-2-4 16:36
佩服楼主的学习精神!!!
李现在哪 发表于 2020-2-4 16:39
给楼主的学习精神点赞
成都老三 发表于 2020-2-4 16:43
PYTHON和易语言 哪个实用?
 楼主| gxq229 发表于 2020-2-4 16:46
ybl 发表于 2020-2-4 16:33
兄弟 我也想学Python,求推荐

我在这说公众号会违反规则吗?我是通过公众号“python学习联盟”的基础知识,后面深入的要花钱了。我还没花钱学
A风继续吹 发表于 2020-2-4 16:47
从哪里学习啊
 楼主| gxq229 发表于 2020-2-4 16:47
netCheney 发表于 2020-2-4 16:33
中文变量名?一般不建议用中文变量名的,会有各种迷之报错

我也是昨天才知道可以使用中文变量名的,尝试一下,毕竟对我们这种小学毕业的人,英文基础实在是太差了后面对代码各方面更熟悉后,会改回来使用英文变量的,实在不行用拼音都行,哈哈
chensure 发表于 2020-2-4 16:56
惭愧。。。零零散散学了一些时间,比不上你
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 04:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表