A站(ACFun)爬虫爬取并播放、下载视频(JAVA)
本文使用的工具有vlc+ffmpeg+phantomjs,git源码:https://github.com/GethinWang/VideoCrawler
一般视频网站的视频地址暴露的方式有两种:
1、html直接暴露
2、通过ajax异步返回。
A站使用的方式是第二种。针对第一种方式,直接使用jsoup就可以解析出视频地址,但是大部分网站都不会采取这种方式,而是选择第二种。
进入浏览器按下f12(这里我使用firefox)
可以看到,传输的ts分片。这些分片是一块块小视频,大概只有几秒左右,但是这些视频能够拼接成一个完整的视频地址。而这些视频地址的地址其实被存放在一个m3u8的文件中,但通过浏览器没办法直接看到m3u8文件,因此这里使用phantomjs。
这是一款没有界面的模拟浏览器,可以模拟浏览器获取ajax请求,通过分析,可以看到返回结果中有m3u8文件。
因此,我们可以拿到m3u8文件,然后使用vlc就可以进行播放,也可以使用ffmpeg将m3u8文件转换成mp4文件。
播放器效果如上。
ffmpeg合并m3u8文件命令为
String exec = rootPath + "/ffmpeg.exe -i \"" + url + "\" -vcodec copy -acodec copy -absf aac_adtstoasc " + output;
这两款软件我都是使用java代码调用exe执行的。
phantomjs核心代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
这里,还需要配置一个js代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
写文章不容易,转载请注明出处,git源码:https://github.com/GethinWang/VideoCrawler ,觉得好给个star吧~
A站(ACFun)爬虫爬取并播放、下载视频(JAVA)相关推荐
- python爬取app播放的视频,Python爬虫工程师必学——App数据抓取实战视频教程
爬虫分为几大方向,WEB网页数据抓取.APP数据抓取.软件系统数据抓取.本课程主要为同学讲解如何用python实现App数据抓取,课程从开发环境搭建,App爬虫必备利器详解,项目实战,到最后的多App ...
- 爬虫爬取qq看点视频
我的上一篇文章有讲到graia机器人配置的问题,这次用他和爬虫实现一个比较有趣的东西 群友在查看电脑端qq看点的分享视频时会出现这种情况无法查看,但也并不是完全没有办法获取到视频的链接 mcl中我们可 ...
- 使用爬虫爬取豆瓣电影影评数据Java版
2019独角兽企业重金招聘Python工程师标准>>> 近期被<我不是药神>这部国产神剧刷屏了,为了分析观众对于这部电影的真实感受,我爬取了豆瓣电影影评数据.当然本文仅讲 ...
- 如何用迅雷下载python_使用python爬虫爬取迅雷侠下载,呵呵,你懂得
啥也不说了,直接上代码 #!python3 import urllib.request from lxml import etree import threading from multiproces ...
- 使用python爬虫爬取秒懂百科的视频
仅供学习交流使用,如有侵权,联系删除. python 爬虫抓取百度百科视频源代码 from urllib.parse import quote from bs4 import BeautifulSou ...
- 使用python爬虫爬取迅雷侠下载,呵呵,你懂得
啥也不说了,直接上代码 #!python3 import urllib.request from lxml import etree import threading from multiproces ...
- java爬取p站_A站(ACFun)爬虫爬取并播放、下载视频(JAVA)
本文使用的工具有vlc+ffmpeg+phantomjs 一般视频网站的视频地址暴露的方式有两种: 1.html直接暴露 2.通过ajax异步返回. A站使用的方式是第二种.针对第一种方式,直接使用j ...
- python爬取flash数据_python爬虫: 爬取flash播放页面的信息
我们通过查看知道flash类型的网页采取文件格式是amf类型的 AMF(Action Message Format) 是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HTTP层 ...
- Python爬虫-爬取腾讯小视频
这两天在爬TX的视频的原始下载地址,遇到的问题挺多,感觉这个网站的规律变化多端的,中间也忘了修改过多少次代码了,而且有时候抓包也抓不到一些想要的内容,最后也只能抓到一些像<拜托啦学妹>.& ...
最新文章
- 使用Python+OpenCV预测年龄与性别
- 用BadgeView在actionbar menu上显示提醒信息
- xml配置文件的形式 VS 配置类的形式
- Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇
- 简述单片微型计算机屏蔽的作用,单片机原理及应用试题库 - 答案
- Word2013中制作按钮控件
- 写一个c语言的链表记录一下
- 每天生成 45 亿字符的 GPT-3,真能取代人工?
- JavaScript-常用正则函数(适合忘记时看)
- beeline安装_Hive 系列 之 简介与安装
- 机器学习 python 库_Python机器学习库
- java day15 【Map】
- Layer 提示框tips使用(批量提示)
- linux开发arm音量加减代码,arm-linux学习:最简驱动模块(示例代码)
- 汽车金融信用评分卡模型-论文_毕业设计_企业项目复现
- 分类--ROC 和曲线下面积
- 45度回合RPG网页游戏《烽烟OL》v1.3正式开源!
- Flink(三十七)—— Flink 清理过期 Checkpoint 目录的正确姿势
- Check Point设置允许外网通过指定端口访问服务器
- 【周末送新书】基于BERT模型的自然语言处理实战