91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python打造一個愛奇藝熱播好劇提前搜系統

發布時間:2021-11-23 16:23:49 來源:億速云 閱讀:179 作者:iii 欄目:大數據

這篇文章主要介紹“怎么用Python打造一個愛奇藝熱播好劇提前搜系統”,在日常操作中,相信很多人在怎么用Python打造一個愛奇藝熱播好劇提前搜系統問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用Python打造一個愛奇藝熱播好劇提前搜系統”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

項目目標

通過選擇愛奇藝電影選項,我們可以將優質的電影信息打印到文本框供自己查看,然后自己去觀看。

依賴工具

開發工具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打造一個愛奇藝熱播好劇提前搜系統”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

方正县| 四川省| 广平县| 瓦房店市| 镇坪县| 塔河县| 怀化市| 辛集市| 唐山市| 荃湾区| 锡林郭勒盟| 离岛区| 瑞丽市| 涿鹿县| 东乡| 清水县| 建湖县| 广丰县| 陇南市| 贵南县| 如东县| 长沙市| 嘉鱼县| 海淀区| 巴马| 锦州市| 积石山| 水富县| 汽车| 馆陶县| 冕宁县| 资兴市| 宁国市| 巫山县| 铁力市| 苗栗县| 余庆县| 偃师市| 东山县| 平罗县| 仙游县|