怎么用Python打造一个爱奇艺热播好剧提前搜系统

这篇文章主要介绍“怎么用Python打造一个爱奇艺热播好剧提前搜系统”,在日常操作中,相信很多人在怎么用Python打造一个爱奇艺热播好剧提前搜系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python打造一个爱奇艺热播好剧提前搜系统”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联是一家专业提供玉溪企业网站建设,专注与成都网站建设、成都网站制作、HTML5建站、小程序制作等业务。10年已为玉溪众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

项目目标

通过选择爱奇艺电影选项,我们可以将优质的电影信息打印到文本框供自己查看,然后自己去观看。

依赖工具

开发工具sublime text 3,360浏览器。

实现步骤

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

怎么用Python打造一个爱奇艺热播好剧提前搜系统

可以看到,它是由一个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打造一个爱奇艺热播好剧提前搜系统

到此,关于“怎么用Python打造一个爱奇艺热播好剧提前搜系统”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

分享名称:怎么用Python打造一个爱奇艺热播好剧提前搜系统
文章网址:https://www.cdcxhl.com/article46/ipeoeg.html

成都网站建设公司_创新互联,为您提供用户体验微信公众号定制网站网站改版品牌网站设计电子商务

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化