欧美电视电影网站建设程序设计开发

作者 : 影视站长站 发布时间:2020-06-28 人阅读

在二十世纪七十年代以前,国人的视野仅限于国内影视媒体,随着时代的变迁和数字媒体的快速发展,年轻人相比于只看国产电视剧的老一辈人,口味更加多样化和个性化,同时,也开始欣赏欧美的影视剧文化,但这幸事伴随着 2014 年 11 月 22 日人人网和射手网宣布关停的消息再一次使欧美影视剧信息收集更加困难。现在许多国人不得不在茫茫“网络之海”里去寻找一些较好的资源网站,浪费大量时间。

为了能够给广大欧美影视剧爱好者创建一个平台,提供一个查看影视信息的便捷通道,并且由于欧美影视剧更新时间的不确定性,因此想要在为用户提供信息的同时,也设计一个记录观剧进度的功能给用户带去便利。

建立此网站意义在于为国内欧美影视剧爱好者提供一个高效的影视剧信息获取平台,同时向用户提供简洁的欧美影视剧检索,追剧进度等,使得该网站为用户创建一个良好的用户体验。

该网站前端是基于 HTML5 技术建立,通过与 CSS 和 javaSript 搭配使用完成前端部分,目的在于希望能够跨平台实现。后端使用 了 php 的 Codelgniter 框 架, 数 据 库 采 用MySQL,数据是运用 python 爬虫技术从“美剧日历”网站上获取得到。

HTML5 是一种超文本语言。其发展已越来越成熟,现许多网站及移动端都使用该技术,它取代了许多传统网站的 Flash 技术,轻量且方便,并添加了许多新的技术,如画布(canvas),视频等。

在互联网的不断更迭,影视产业发展迅速的背景下,欧美影视剧逐渐进入大众视野,但获取较为不易,针对用户的定制化服务更是稀少,该网站即是在此需求上为喜爱观看欧美影视剧的用户提供订阅记录服务。

CSS3 是 CSS 技术的升级版本,用于控制网站的样式和布局,它的新特点就是将其分成一系列的小模块,利于规范的及时发表和更新,并能够及时调整模块的内容,同时也加入了许多新的模块,例如盒子模型,颜色模块和字体模块等。

JavaScript 是属于网络的脚本语言,被许多网页用来改进设计,验证表单,检查浏览器,创建 cookies 等许多应用,由 EMCAScript、文档对象模型(DOM)和浏览器对象模型(BOM)
组成,拥有良好的跨平台性,支持大多数浏览器,为许多程序员带来便利。

CodeIgniter 是 一 个 小 巧 但 功 能 强 大 的PHP 框架,作为一个简单而“优雅”的工具包,它可以为开发者们建立功能完善的 Web 应用程序。

网络爬虫是获取网页并提取和保存信息的自动化程序。一般提取数据的过程为获取网页、提取信息和保存数据三个阶段。通过下载web 页面,对首先获取的页面进行爬行,当通过这个页面顺着网页之间的联系,即可获取到下个超链接,便能够获取后续的页面,这样便能够抓取到网站的数据。此网站便是从“美剧日历”上的内部链接获取得到,无外部链接。

主界面设计需显示的信息:网站信息简介。功能:开始,当前热播,查找剧集,当前热播,个人收藏。
用户模块设计此模块设计实现了注册,登录,忘记密码,重置密码。
当前热播模块设计

(1)当前热播界面:猜你喜欢,七日更新,当前热播剧集,已完结剧集。显示:推荐剧集名称,近七日日期,当前热播和已完结剧集的图片、名称,用户名。功能:当前热播,查找剧集,本日观看,个人收藏。。

(2)剧集详情界面:剧集详细信息,如地区,总季度,每集更新时间等;是否看过,收藏人数,推荐剧集。功能:加入收藏,第 X季,标记看过。

搜索模块设计

本日更新界面显示信息:本日更新剧集信息,日期;功能:加入收藏,切换日期,查看某一剧详情信息,个人收藏界面显示信息:收藏剧信息,观看剧进度条功能:取消收藏,查看剧详情。

后端过程设计本 网 站为 美 剧 日 历(TVEpisodeLabel),分为主模块、用户模块、当前热播、搜索、本日观看、个人收藏这六大模块。

(1)主模块:主模块用于实现直接跳转至各大模块,可暂不进行登录注册。

(2)当前热播模块:当前热播模块主要实现三个部分功能,分别是:猜你喜欢,七日更新快捷查看,正在热播及已完结美剧的显示。

(3)猜你喜欢:根据收藏人数排行,选出 5 部最具人气的剧集推荐给用户。

(4)七日更新快捷查看,相应跳转至近七日对应日期当天更新的剧集(5)正在热播:根据数据库数据,显示正在热播剧的剧名和图片。

(6)已完结:根据数据库数据,显示已完结的剧名和图片。

用户表数据库中的用户表包含有用户 id,用户昵称,手机号码,用户状态,密码哈希,客户端令牌哈希等标识。
剧表数据库中的剧表包含有用户剧 id,剧名,中文翻译,剧情介绍,剧状态,地区,电视台,剧图,每集长度,更新时间标识。
季表数据库中的季度表含有剧 id,季度 id,第 X 季,每季级数的标识。
剧集表 episode数据库中的剧集表包含主键 id,外键于剧 id,索引 se_id,集名称,每季介绍,每集上映时间,集图,集状态,本季第 N 集的表示。
用户订阅收藏表数据库中的用户订阅收藏表包含用户 id,剧 id,订阅时间的标识。
用户标记表数据库中的用户订阅收藏表包含用户 id,剧 id,标记时间的标识。
数据获取设计思路:通过数据表中的属性,依次从不同的页面中获取联系紧密的参数数据。由于“美剧日历”网站页面多而杂,对于在一个表中所需要的数据需要在许多不同的页面获取为了得到多而杂的参数,在 Python3 代码中需运用多个库,以此来实现数据的获取。
当前热播模块实现猜你喜欢实现:获取剧 id,在 shows 表中查找该剧;再根据剧 id,从 episode 表和season 表获取相应的剧集信息,跳转至剧集详情界面。
七 日 推 荐 实 现: 根 据 更 新 时 间, 从episode 表中选取相应日期下已更新的剧集,跳转至本日更新界面。
剧集详情界面设计获取要显示的剧 id,在 season 表内查找该剧的季度,显示在页面上,后根据 season的 id 查找 episode 表内的相应季度的集,显示在表内。加入收藏功能,获取将加入收藏的剧id,将剧 id 和当前用户 id 添加到表 subscribe内。标记看过功能,获取将标记的集 id,将集id 和当前用户 id 添加到表 synchron 表内。
查找剧集界面设计获取用户输入的查找剧名,从 show 表内查找该剧名,返回剧信息。
本日更新界面设计获取当前日期,查找 episode 表内今日更新剧集的所有信息,显示在页面上;加入收藏功能,获取将加入收藏的剧 id,将剧 id 和当前用户 id 添加到表 subscribe 内。
个人收藏界面获取当前用户 id,查找 subscribe 表内用户关注的剧 id 信息,在 episode 表内查找相应剧 id 的信息,将剧信息显示在当前页面。取消收藏功能,通过获取将取消收藏的剧 id 和用户 id,将此信息从 subscribe 表中删除。
获取页面源码使用 urllib 库中的 urlopen() 方法便可得到网页的源码,
提取信息提取信息的过程中,由于多个页面参数的多样化,因此获取的方式也不同,在这里概述几个常用的获取方式。
(1)通过正则表达式获取:对于多个页面 url 相似,获取的数据标签相同来说,使用正则表达式非常快速且方便。因为在多个页面中,获取数据的 HTML标签相同,通过循环便可实现网页的遍历。
(2)通过选择器获取:由于许多页面的标签很复杂,对于获取数据使用正则表达式非常容易出错,因此在此使用解析工具BeautifulSoup 中 的 lxmlHTML 解 析 器, 使 用嵌套选择、方法选择器和 CSS 选择器等来进行一层层的过滤,得到需要的数据。
保存数据在本项目中,采用 MySQL 数据库实现存 储 数 据。 在 Python2 中, 连 接 MySQL 的库大多使用 MySQLdb,但是此库官方不支持Python3,所以使用库为 PyMySQL。
将爬取数据存放入数据库中相对容易,较为繁琐的在于数据的处理,从网页上获取的数据较为杂乱,放入数据库的数据需要经过处理得到。
总结经过几个月的开发,该网站的功能已完成。通过前后端结合,实现以下具体的功能:

(1)设计实现了一个用于获取“美剧日历”剧集的提取器,发并能够将提取的数据存入数据库。

(2)设计并实现了能够查看电视剧的简介信息,可以根据电视剧受喜爱程度进行推荐。

(3)实现按照不同电视剧,用户可以根据自己看剧的进度进行标记。

本文大致介绍了该网站的结构与功能,网站虽然已搭建完成,但还存在着许多不足,后端建设不够全面,容错性不足,功能还需要优化。希望之后能更加完善。