本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
本篇文章来自腾讯云 作者:Python进阶者
( 想要学习Python?Python学习交流群:,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )

讯享网
商人重利轻别离,前月浮梁买茶去。
/前言/
今年的疫情让我们很多人对于打工望而却步,没办法,钱可以再挣,但是生命只有一次,于是,宅在家的我们无事可做,只好看看电影来打发下我们无聊的时间。
/项目目标/
通过选择爱奇艺电影选项,我们可以将优质的电影信息打印到文本框供自己查看,然后自己去观看。
/依赖工具/
开发工具sublime text 3,360浏览器。
/实现步骤/

下面我们先看下软件运行主界面,比较简单:

下面小编就来跟大家讲下具体的实现步骤。
打开网页,F12分析:

可以看到,它是由一个ul标签包裹,多个li子标签构成,所以我们可以这样做:

这样就拿到了,所有影片的名字 主演和评分,就能方便我们直观的查看电影状况,再决定看哪一部。
其实还有一种比较有逼格的写法,就是用正则匹配。
def parse_page(self,html): #编译页面电影内容正则 pattern = re.compile('<li.*?qy-mod-li.*?text-score">(.*?)<.*?title.*?>(.*?)<.*?title.*?>(.*?)<', re.S) items = re.findall(pattern, html) #查找 for item in items: yield {
'Movie_Name': item[1], #电影名 'Movie_actor': item[2].strip()[3:], #演员 'Movie_score': item[0] #评分 }
讯享网
讯享网class gui: def __init__(self): self.root=tk.Tk() self.root.title("爱奇艺热播好剧提前搜v1.0") self.root.geometry("700x600") self.lb=tk.Label(self.root,text='请选择搜索类型') self.tt=tk.Text(self.root,width=40,height=30) self.cb=ttk.Combobox(self.root, width=12) self.cb['values']=('请选择-----','综合排序','热播榜','好评榜','新上线') #设置下拉列表框的内容 self.cb.current(0) #将当前选择状态置为0,也就是第一项 self.cb.bind("<<ComboboxSelected>>",self.go) #绑定go函数,然后触发事件 self.lb.place(x=30,y=30) #组件位置 self.cb.place(x=154,y=30) self.tt.place(x=30,y=60,width=400,height=600) self.root.mainloop() #主页面
这样就写好了,然后我们还可以将数据写入到文本文件。
def write_to_file(self,content): with open('movie.txt', 'a', encoding='utf8')as f: f.write(json.dumps(content, ensure_ascii=False) + '\n') #写入文件
因为yield 出的结果使用json好读取些,而且具有格式化的功能,所以可以先把文件先转为json格式,这样就可以了。
然后我们编写下拉列表框的函数,使得它选择选项时出现对应的结果。
讯享网#下拉列表框事件 def go(self,*arg): if self.cb.get()=='请选择-----': self.tt.delete('1.0','end') elif self.cb.get()=='综合排序': self.tt.delete('1.0','end') self.main('https://list.iqiyi.com/www/1/-------------24-1-1-iqiyi--.html') elif self.cb.get()=='热播榜': self.tt.delete('1.0','end') self.main('https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi--.html') elif self.cb.get()=='好评榜': self.tt.delete('1.0','end') self.main('https://list.iqiyi.com/www/1/-------------8-1-1-iqiyi--.html') elif self.cb.get()=='新上线': self.tt.delete('1.0','end') self.main('https://list.iqiyi.com/www/1/-------------4-1-1-iqiyi--.html')
#主函数 def main(self,url):
html = self.get_page(url) for item in self.parse_page(html): self.tt.insert('insert',item)#将内容插入到文本框 self.tt.insert('insert','\n') self.tt.update() #更新内容 self.write_to_file(item) #内容写入文件
我们可以看到效果图如下:

/小结/
1、本文基于Python编程语言,打造了一个爱奇艺热播好剧提前搜系统,方法行之有效,欢迎小伙伴们积极尝试。本项目对于初学者来说还是比较友好的,希望可以帮到大家。学无止境,一起加油!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58239.html