本文转载于:猿2048网站➮https://www.mk2048.com/blog/blog.php?id=c1hhiii2j
前言
最近在看新出的电视剧“斗破苍穹”,可是一集电视剧的广告开头90s中间45s片尾15s,实在令人发指。之前有了解过,网上有很多免vip解析接口,于是本渣决定动手做一个可以去除广告的小网站,于是有一下采坑过程。
采坑之路
首先,这是最终在线预览。文章核心是爬取电影链接,然后和现有的会员解析接口拼接展示。
1.初版
视频解析接口+电影链接=无广告电影。
![](http://www.mk2048.com/web_upload/blog_imgs/4/https___user-gold-cdn-xitu-io_2018_10_23_1669f8a9272413e8_w-569_h-171_f-png_s-28726.gif)
2.找接口
找了半小时终于在聚合数据上找到符合条件的接口,影片链接还有上映信息都可以拿到,简直不要太舒服。使用过程发现聚合数据的接口数据并不完整,好多新上映的电影都没有返回数据,而且还有调用次数限制,此方案终结。
3.nodejs爬虫
有两种思路:1.爬取各大视频网站所有视频链接并存入数据库,用户搜索时去数据库查找电影。 2.获取到前端搜索关键字后,去视频网站爬取,然后返回给前端。第一种方式数据量比较大,要考虑到网站的反爬措施,好要写脚本定时爬取以保持可以获取视频网站最新数据。第二种方法在线爬取,会有一定的延时,经过测试延时时长在1s左右,因此决定采用第二种方式。 通过对视频网站分析发现,每个视频网站都有全网搜索接口,本次爬取企鹅视频,上代码。
![](http://www.mk2048.com/web_upload/blog_imgs/4/https___user-gold-cdn-xitu-io_2018_10_24_166a583787d2961e_w-644_h-193_f-png_s-33701.gif)
![](http://www.mk2048.com/web_upload/blog_imgs/4/https___user-gold-cdn-xitu-io_2018_10_24_166a580f92424111_w-816_h-234_f-png_s-123925.gif)
![](http://www.mk2048.com/web_upload/blog_imgs/4/https___user-gold-cdn-xitu-io_2018_10_24_166a587226becb9f_w-641_h-101_f-png_s-7762.gif)
![](http://www.mk2048.com/web_upload/blog_imgs/4/https___user-gold-cdn-xitu-io_2018_10_24_166a58ad104f86eb_w-1033_h-211_f-png_s-41553.gif)
4.前端展示
这里没多少技术栈,但是因为前前后后需求一直改变,从最开始原生js到jquery,最后甚至想上框架~~!。算了不多数,这里是github地址
5.总结
其实nodejs做爬虫坑还是蛮多的,爬取电影连接时,电影、电视剧、综艺、续集等都有不同的html结构,所以用标签爬取数据真的不是一个好的思路。而且在获取电视剧‘...’链接这一块也比较坑,因为不会nodejs断点调试,很简单的问题一直无法定位。 第一次写文章,思路、格式都不太好,见谅。下班,嘿嘿,溜了。
更多专业前端知识,请上 【猿2048】www.mk2048.com