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的视频的原始下载地址,遇到的问题挺多,感觉这个网站的规律变化多端的,中间也忘了修改过多少次代码了,而且有时候抓包也抓不到一些想要的内容,最后也只能抓到一些像<拜托啦学妹>.& ...
最新文章
- Linux7 CENTOS7修改root密码
- NLP未来,路在何方?12位巨佬联名指路!
- http协商缓存VS强缓存
- 利用一个样本估计类别数据分布,9行代码提高少样本学习泛化能力
- 支持向量机的近邻理解:图像二分类为例(3)
- Linux下汇编语言学习笔记65 ---
- 回顾计算机产业发展的4个阶段:美国企业统治全球市场了吗?
- linux元组和列表的区别,列表,元组,集合
- java中userservice是什么,【图片】求助大神~~我在Reaml中注入userService对象启动tomcat就报错【java吧】_百度贴吧...
- 如何在Linux(Ubuntu)上安装Maven
- 如何使用手机端、ipad端来编写博客
- wp 一次简单的攻防训练
- 资源编译器 rc .exe 的参数
- java中文转英文_Java中文转换为英文拼音
- 《计算机世界》封面报道:互联网10年孤独[z]
- 微软将要求供应商提供带薪育儿假;倪光南谈中国软件业机遇,称已出现由中方主导的开源社区...
- Fault tolerant heap shim applied to current process. This is usually due to previous crashes
- 1066 Last non-zero Digit in N!
- 计算机网络学习--协议族、协议栈
- 教务系统—课程表接口信息
热门文章
- mysql读写分离 abp_mysql读写分离策略
- 浅述单目3D目标检测
- 格创东智亮相高端制造业CIO上海论坛,助推制造业智慧建设
- windows电脑使用nvm安装node,管理node版本
- php最大的优点,_____是PHP的最大优点
- 可以练计算机应用基础的网址,计算机应用基础模拟练习题
- 小甲鱼python第二十讲(内嵌函数和闭包)
- 【阿里物联平台】阿里物联平台设备接入——基于LinkSDK_v4_001
- 大数据-玩转数据-Maxcompute DDL
- 长沙有哪些点餐系统服务商?长沙点菜软件哪家好?