Vue电影信息影评网站

此网站是我的毕业设计,题目是“基于HTML5的电影信息汇总弄网站”,由于最近在看Vue.js,所以就想用Vue.js来构建一个前端网站,这里code就不大篇幅的写了,主要讲一下网站的功能和所用到的技术栈,大家如果有问题的话可以去 GitHub代码网址上查看或者在下方留言。

**技术栈**: Vue.js+ThinkPHP+MySql+Vue-router+Node.js

网站主要功能分为:

电影展示
主要是从第三方平台拉取电影信息,然后进行图片和电影名字展示还有轮播展示。展示分为正在热映、北美票房榜、Top25等三个板块,其中正在热映的数据来自猫眼,其余的均来自豆瓣电影。界面如下图:


电影详情展示

此功能是提供电影详情的界面,包括演员、上映时间、导员、剧情简介、宣传视频(宣传视频由于豆瓣官方的API限制无法获取,所以只有正在热映板块-从猫眼获取的电影信息才有)。界面如下图:


在线购票(基于猫眼第三方平台)

在线购票是基于第三方平台猫眼实现的,通过对应的电影id实现在线购票。界面如下图:

(仅限于最近正在热映的电影,其它的电影大家可以在网上观看)


在线评论

开发这个版块的目的是为了给电影爱好者提供一个互相交流的平台,从而也可以增加用户对网站的粘性。界面如下图:


遇到的问题及解决方法

此网站的北美票房榜和top25的数据都是来自于豆瓣开发者开放平台提供给开发者的一些API,但是这些API并没有完全交给开发者,而是对其中的一些API做了限制


1 数据请求权限

  在API中指出,豆瓣将用户的使用权限分成了3类,分别是公开、高级、商务,对于个人开发只能使用公开,公开的使用条件是:所有开发者均可申请,审核用过。限定40次请求/分钟。其实这个请求数据正常情况下是可以使用的。但是在开发过程中,发现当请求次数超过这个次数后,豆瓣会将开发者的ip封锁,导致无法请求,为了避免这种情况发生,本网站使用了HTML5新提供的本地存储数据方法sessionStorage。在首次打开网站后,将对应模块的数据信息存储的sessionStorage中,当本地存储中有对应的数据,则从本地存储读取,反之访问对应的API获取数据。


2 图片资源加载
   在开发过程中,我发现从API中获取的图片资源无法正常在网站页面中进行渲染。通过百度发现,豆瓣在图片资源上做了防盗链,图片服务器通过检查条用该图片的是那个网址,如果不是它允许的,就不给显示,防止盗图。同过图片缓存网站https://images.weserv.nl/#qui...


3 axios组件
   axios是一个基于Promise开发的应用组件,是为浏览器和Node.js设计开发的HTTP客户端请求组件。它封装了和HTTP相关的大量操作,在Web App中使用起来非常的方便。Vue2.0官方建议不再使用vue-resource,转而代替的是使用axios组件进行HTTP操作开发。在使用get方法请求的过程中没有遇到问题,但是当请求方法为post是,请求数据出错,后台获取不到数据,但是通过浏览器开发者工具可以看到是有数据传输过去了。通过在网上收集各种弄资料,axios默认是通过Request Payload的形式传送了参数,而不是我们熟悉的form-data形式,故有以前获取form-data的方法获取不到,可以通过借助于第三方开源qs库为数据格式化。代码如下:

 axios.post('http://localhost:8088/video/index.php?g=Video&m=users&a=addComment', qs.stringify({
type: _this.type,
video_id: _this.id,
uid: getCookie('uid'),
uname: getCookie('uname'),
content: _this.commentText
}), {headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}})
.then((res) => {
if (res.data.success === true) {
this.$nextTick(() => {
_this.comment.push(res.data.response)
_this.commentText = ''
})
} else {
alert(res.data.info)
}
})

备注
参考网站:

  1. 猫眼数据API
  2. 豆瓣电影API

如有任何版权问题,请及时联系本人或留言,将会在第一时间进行处理

Vue 电影信息影评(豆瓣,猫眼)的更多相关文章

  1. 爬虫实战【11】Python获取豆瓣热门电影信息

    之前我们从猫眼获取过电影信息,而且利用分析ajax技术,获取过今日头条的街拍图片. 今天我们在豆瓣上获取一些热门电影的信息. 页面分析 首先,我们先来看一下豆瓣里面选电影的页面,我们默认选择热门电影, ...

  2. python爬虫实战 获取豆瓣排名前250的电影信息--基于正则表达式

    一.项目目标 爬取豆瓣TOP250电影的评分.评价人数.短评等信息,并在其保存在txt文件中,html解析方式基于正则表达式 二.确定页面内容 爬虫地址:https://movie.douban.co ...

  3. 如何用Python在豆瓣中获取自己喜欢的TOP N电影信息

    一.什么是 Python Python (蟒蛇)是一门简单易学. 优雅健壮. 功能强大. 面向对象的解释型脚本语言.具有 20+ 年发展历史, 成熟稳定. 具有丰富和强大的类库支持日常应用. 1989 ...

  4. 003.[python学习] 简单抓取豆瓣网电影信息程序

    声明:本程序仅用于学习爬网页数据,不可用于其它用途. 本程序仍有很多不足之处,请读者不吝赐教. 依赖:本程序依赖BeautifulSoup4和lxml,如需正确运行,请先安装.下面是代码: #!/us ...

  5. 豆瓣电影信息爬取(json)

    豆瓣电影信息爬取(json) # a = "hello world" # 字符串数据类型# b = {"name":"python"} # ...

  6. Scrapy项目 - 数据简析 - 实现豆瓣 Top250 电影信息爬取的爬虫设计

    一.数据分析截图(weka数据分析截图 ) 本例实验,使用Weka 3.7对豆瓣电影网页上所罗列的上映电影信息,如:标题.主要信息(年份.国家.类型)和评分等的信息进行数据分析,Weka 3.7数据分 ...

  7. Scrapy项目 - 实现豆瓣 Top250 电影信息爬取的爬虫设计

    通过使Scrapy框架,掌握如何使用Twisted异步网络框架来处理网络通讯的问题,进行数据挖掘和对web站点页面提取结构化数据,可以加快我们的下载速度,也可深入接触各种中间件接口,灵活的完成各种需求 ...

  8. java 语言实现豆瓣电影信息查询

    豆瓣上面有很多电影,有时候要查看个电影信息,去豆瓣搜下还是很方便的,但是如何通过接口的形式来查看豆瓣电影,这对于很多网站.app其实是非常实用的功能,这里笔者附上一个java实现的豆瓣电影信息获取的代 ...

  9. requests爬取豆瓣top250电影信息

    ''' 1.爬取豆瓣top250电影信息 - 第一页: https://movie.douban.com/top250?start=0&filter= - 第二页: https://movie ...

随机推荐

  1. C#操作Access的查询、添加、删除、修改源程序

    C#操作Access的查询.添加.删除.修改源程序 using System; using System.Collections.Generic; using System.ComponentMode ...

  2. zkw 线段树

    优秀的 zkw 线段树讲解:<线段树的扩展之浅谈 zkw 线段树> 存一份模板代码(区间修改.区间查询): /* zkw Segment Tree * Au: GG */ #include ...

  3. [CSP-S模拟测试]:v(hash表+期望DP)

    题目背景 $\frac{1}{4}$遇到了一道水题,又完全不会做,于是去请教小$D$.小$D$看了$0.607$眼就切掉了这题,嘲讽了$\frac{1}{4}$一番就离开了.于是,$\frac{1}{ ...

  4. 重温HTML和CSS3

    重温Web前端基础 本篇幅中着重文字,只是记录一些自己的见解,巩固下自身基础 网页结构是什么? 结构层 html 导航,列表,段文字,图片,链接,表示层 css 颜色,大小,位置,行为层 JavaSc ...

  5. yii2和laravel比较

    yii2和laravel比较 一.总结 一句话总结: 开发速度两者相当:laravel的artisan工具和yii的gii有异曲同工的效果,借助于artisan工具,可以快速创建控制器.模型和路由等. ...

  6. T1219:马走日

    [题目描述] 马在中国象棋以日字形规则移动. 请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. [输入] 第 ...

  7. Boosting Ensemble and GBDT Algorithm

    Boosting Ensemble: 机器学习中,Ensemble model除了Bagging以外,更常用的是Boosting.与Bagging不同,Boosting中各个模型是串行的.其思想是,后 ...

  8. git 资料

    git学习资料整理(知乎搜集的) https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 ...

  9. docker 实战

    创建镜像 docker pull ubuntu 创建容器 docker run -it -name web ubuntu /bin/bash 更新软件源信息 apt-get update 安装ssh  ...

  10. cdh5.7 做完HA后hive 查询出现异常: expected: hdfs://nameservice

    异常信息如下: select * from b_pt_pr_customer_address_info limit 19; FAILED: SemanticException Unable to de ...