1. 程式人生 > >大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

2. 安裝完Python以後,如果不出意外,應該是已經安裝了pip。通過pip可以非常方便的管理Python第三方包。可以在CMD或者任何shell終端輸入pip -V,如果提示了找不到pip命令,說明pip沒有安裝成功。那麼可以通過easy_install install pip來進行安裝。

3. requests庫。這個庫是專門用來做網路請求的。他比Python自帶的urllib庫好用很多,在urllib3的基礎之上做了進一步的封裝,讓我們寫網路請求的時候不要處理一些類似於url編碼等相關的無意義的事情。他的slogan是Http for Humans,意思是對人友好的Http請求庫,可以說是非常的形象了。這個庫不是Python內建的,因此需要通過pip進行安裝。安裝方式也是非常簡單,只要進入cmd或者shell終端,輸入pip install requests即可安裝。

進群:960410445  獲取原始碼以及軟體哦!

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

6. Django框架。Django框架是Python web開發中一款非常主流的框架。上手快,功能齊全,可以勝任大型網站的任務。他也是集HTTP協議、URL匹配、資料庫管理、HTML模版渲染等於一體的框架。資料已經從爬到資料庫中了,下一步我們就是使用Django框架實現一個網站,動態的載入資料!根據自己的需求,想做成什麼樣就做成什麼樣!Django也是第三方的,需要通過pip install django進行安裝。

二、專案架構:

在寫具體的程式碼之前,先來理順一下整個專案框架的結構。爬蟲負責抓取網站的資料,並對抓取下來的資料進行解析和清洗,然後儲存到資料庫中。之後Django再從資料庫中讀取資料,並將讀取的資料顯示在網頁中。結構圖如下:

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

1. 資料抓取和解析:在寫程式碼之前,我們首先來分析下電影天堂這個網站,他的首頁是包含了各種型別資源的一個組合。我們現在要爬取的是電影資訊,因此點選“更多最新電影”跳轉到最新電影的列表頁面,如下圖:

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

可以看到這個列表頁包含了許多我們想要的電影資源,但是我們現在爬,只能爬取到這一頁的電影資訊,怎麼能把其他頁面的電影也爬下來呢,這時候就要找到每個頁面的url規則了。我們可以看到,第一頁電影的URL是:網頁連結,第二頁電影的URL是:網頁連結。所以我們得出一個結論就是,URL的前面部分都是一樣的,最後那個數字是幾,代表的是第幾頁。接下來就是去爬詳情頁面了。詳情頁的例圖如下:

 

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

包括電影的資訊、海報,都能在這個裡面找到。那麼資料爬取的程式碼如下:

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

2.資料儲存:這裡我們把爬取下來的資料儲存到MySQL資料庫中。需要在pipeline中進行實現。示例程式碼如下:

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

以上便是爬蟲部分的講解和示例程式碼演示,當然因為篇幅限制,無法把所有細節都介紹到位,如果您對這個專案還有不懂的地方,我們在2月24日在網易雲課堂會有直播,從零開始開始講解,如何分析頁面,如何提取元素,scrapy框架是如何執行的等。有什麼不懂的還可以和老師進行互動,相信你一定可以學會的!

四、網站實現:

網站這裡我們用的是Flask框架。在後臺做好資料的提取,在前端做好頁面的顯示。示例程式碼如下:

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

做完後的效果圖如下(只是簡簡單單的做了個demo,UI還需要進一步美化):

大牛教你用Python打造一款屬於自己的專屬影院!再也不買電影票了

 

 

五、總結:

這個專案可以說是用到了Python大部分的技術要點。有Python網路爬蟲、Scrapy框架、Python web開發、Flask框架等。