捡了鼠标开网吧系列——nodejs实现无广告电影

栏目: Node.js · 发布时间: 6年前

内容简介:最近在看新出的电视剧“斗破苍穹”,可是一集电视剧的广告开头90s中间45s片尾15s,实在令人发指。之前有了解过,网上有很多免vip解析接口,于是本渣决定动手做一个可以去除广告的小网站,于是有一下采坑过程。首先,这是最终在线预览视频解析接口+电影链接=无广告电影。

最近在看新出的电视剧“斗破苍穹”,可是一集电视剧的广告开头90s中间45s片尾15s,实在令人发指。之前有了解过,网上有很多免vip解析接口,于是本渣决定动手做一个可以去除广告的小网站,于是有一下采坑过程。

采坑之路

首先,这是最终在线预览

1.初版

视频解析接口+电影链接=无广告电影。

捡了鼠标开网吧系列——nodejs实现无广告电影

经过测试,预期功能实现。emmm,鼠标捡到了。可是每次都要找电影链接才能观看是有点烦啊,能不能通过搜索关键字直接播放呢? 作为一个前端弱鸡,本能反应=》找接口。

2.找接口

找了半小时终于在聚合数据上找到符合条件的接口,影片链接还有上映信息都可以拿到,简直不要太舒服。使用过程发现聚合数据的接口数据并不完整,好多新上映的电影都没有返回数据,而且还有调用次数限制,此方案终结。

3.nodejs爬虫

有两种思路:1.爬取各大视频网站所有视频链接并存入数据库,用户搜索时去数据库查找电影。 2.获取到前端搜索关键字后,去视频网站爬取,然后返回给前端。第一种方式数据量比较大,要考虑到网站的反爬措施,好要写脚本定时爬取以保持可以获取视频网站最新数据。第二种方法在线爬取,会有一定的延时,经过测试延时时长在1s左右,因此决定采用第二种方式。 通过对视频网站分析发现,每个视频网站都有全网搜索接口,本次爬取企鹅视频,上代码。

捡了鼠标开网吧系列——nodejs实现无广告电影

其中$就是抓取到的html内容,如下图。

捡了鼠标开网吧系列——nodejs实现无广告电影

通过标签获取数据轻松拿到电影名、海报等信息,但是播放链接这里出现了一点问题:如果是电视剧会出现这个情况。

捡了鼠标开网吧系列——nodejs实现无广告电影

因为电视剧集数比较多,所以中间会用‘...’省略,这时候爬虫获取的播放链接就不完整。打开network,点击‘...’省略的集数加载了出来,于此同时

捡了鼠标开网吧系列——nodejs实现无广告电影

可以看到,我们想要的信息全在这个接口里。于是我们在上一个接口采集链接时做一个判断,如果当前链接value为'...'就调用这个接口,这里要注意做异步处理,不然采集不完整。

4.前端展示

这里没多少技术栈,但是因为前前后后需求一直改变,从最开始原生js到jquery,最后甚至想上框架~~!。算了不多数,这里是 github地址

5.总结

其实nodejs做爬虫坑还是蛮多的,爬取电影连接时,电影、电视剧、综艺、续集等都有不同的html结构,所以用标签爬取数据真的不是一个好的思路。而且在获取电视剧‘...’链接这一块也比较坑,因为不会nodejs断点调试,很简单的问题一直无法定位。 第一次写文章,思路、格式都不太好,见谅。下班,嘿嘿,溜了。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

High Performance JavaScript

High Performance JavaScript

Nicholas C. Zakas / O'Reilly Media / 2010-4-2 / USD 34.99

If you're like most developers, you rely heavily on JavaScript to build interactive and quick-responding web applications. The problem is that all of those lines of JavaScript code can slow down your ......一起来看看 《High Performance JavaScript》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码