爱奇艺怎么看自己评分的电影(手把手教你使用Python打造一个爱奇艺热播好剧提前搜系统)
/前言/
今年的疫情让我们很多人对于打工望而却步,没办法,钱可以再挣,但是生命只有一次,于是,宅在家的我们无事可做,只好看看电影来打发下我们无聊的时间。
/项目目标/
通过选择爱奇艺电影选项,我们可以将优质的电影信息打印到文本框供自己查看,然后自己去观看。
/依赖工具/
开发工具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] #评分
}
选择哪种方法随你挑,适合自己的才是最好的,哈哈哈!
然后,我们可以写个gui界面将我们所想要的结果显示在界面上,因为我们这次使用的是下拉列表框选择选项然后显示结果,我们需要使用一个新的gui组件 combobox组件,于是,可以这样写:
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) #内容写入文件
我们可以看到效果图如下:
/小结/
本文基于Python编程语言,打造了一个爱奇艺热播好剧提前搜系统,方法行之有效,欢迎小伙伴们积极尝试。本项目对于初学者来说还是比较友好的,希望可以帮到大家。学无止境,一起加油!
,- 手自一体手动挡怎么换挡技巧(自动档和手动挡该怎么操作)
- 迷你世界种土豆怎样就成熟了(作物种植要讲究)
- 小仙炖燕窝和燕之屋哪个好(你买到的是“真”燕窝吗)
- 腾讯文档怎么导出到wps(详细操作教程教给你)
- 如何安装ios旧版本软件(如何安装已不受支持的手机app)
- 大王卡和阿里宝卡哪个划算(阿里宝卡与大王卡的巅峰对决)
- 明日之后感染者血液出售给谁(快速获取新币的六大途径)
- 梦幻西游手游怎么用账号密码登录(藏宝阁更好用)
- 支付宝申请社会保障卡流程(支付宝怎么申领社保卡)
- 外出住宾馆的注意事项(|)
- 什么是富含碳水化合物的食物(哪些食物属于碳水化合物)
- cf源武器怎么获得永久(穿越火线枪战王者新赛季福利大全一览)
- 有些母鸡为什么不抱窝(为何现在少见了)
- 生煎馄饨最好吃的做法(一面酥脆爽口)
- 萨摩耶怎么养才能听话(方法在这里)
- 教师有什么职业兴趣(我最喜欢当一名人民教师(2)原创)
- 做肉末粉丝的方法(超经典的肉沫粉丝#东古家味美食#在家也能做)
- 青春期男孩子情绪低落怎么办(5个技巧)