需求:

朋友经常会在微信上分享小视频, 我突发奇想,能不能通过编写程序的方式自动保存用户发送的视频/图片/语音, 保存一份到七牛云存储上面
有了这个想法之后, 我就开始马不停蹄的探索了。 花了周六,周天两天的时间,废寝忘食的研究。 连续两天在电脑前学习到凌晨, 把黑眼圈也熬出来了。 
实现:
[思路一]
研究七牛云存储的上传文件api
打开微信网页版, 把文件转发到File Transfer的聊天窗口
这是可以在浏览器端看到对应的视频或图片
研究post请求的url的规律, 采用程序自动下载对应的视频和图片
侦听网页请求, 只要发现往File Transfer 发送图片, 则自动保存到七牛云存储
遇到的问题:
1. 在windows上安装pypcap太坑爹!!
使用的pypcap的版本为1.1.4, 遇到pcap.h not found的问题,pip在线安装不行, 安照网上建议下载wincap dev版本, 安装pip 安装 pypcap指定外部库的(pip install /path/to/pycap_src_dir/pypcap-1.1.4.tar.gz --global-option=build_ext --global-option="-LD:\Project\weixin\requirements\WpdPack_4_1_2\WpdPack\Lib" --global-option="-ID:\Project\weixin\requirements\WpdPack_4_1_2\WpdPack\Include")还是装不上,最后放弃
2. 因为微信使用了https, 是加密的网络请求, wireshark 无法解密。 也就是说即使我安装上了pcap,也无法正常解包。 
3.  考虑使用filddler来侦听微信网页版, 发现一旦使用fiddler代理, 微信网页版就连不上 , 其它https的网站走fiddler代理没有问题。 
另外想开发fiddler插件, 只能使用c#, vb, c++ 学习成本太高。 
4. 侦听http的请求,考虑过使用mitmproxy,这是python写的http截获工具, 这个方案也有问题, 就是没有解决ssl证书的问题。结果也截获不了https的网页的请求,使用过程中有问题,暂时没有找到解决方案。  
关于侦听https请求:
前面提到了pypcap, wireshark, mitmproxy, fiddler,效果都不太好。 后面又找到了一种新的侦听https的请求的方法。 
从chrome 自带的network工具下手, 实现半自动化   ,或者开发chrome插件, 调用chrome.devtools.network这个api,这个方法有待研究和实践。
思路二:
微信的PC客户端可以在本地看到保存的多媒体资源
比如视频的话,放在D:\Users\<your_pc_username>\Documents\WeChat Files\<your_wechat_user_name>\Video 目录下
而且下载的视频是完整的, 不会像网页版的那样, 下载的时候,拿到的是0字节的视频
因此有了新的思路来自动保存视频资源到网盘。 
安装微信PC版
监控微信的安装目录, 只要发现有新的文件产生,就自动发送到七牛云上
总结:
虽然最后我没有实现我最初要实现的效果。 不过,在探索的过程中,也学到了很多新的知识,也是很有收获的。 
如果后面有新的思路, 我会接下去继续我的开发。 本文也是作为自己的一次探索的记录, 方便以后查阅, 同时也是希望抛砖引玉,能够得到大神的指导,不甚感激。 
-----2015/12/30-----
关于微信的小视频导出还有另外一种方法,适用于iphone(越狱/未越狱皆可)
安装itools软件和itune软件, 将手机连接电脑, 打开itools软件, 选择微信管理, 打开对应的聊天窗口, 然后选中对应的小视频, 然后就可以导出到本地目录了。 

自动保存微信的小视频相关推荐

  1. Android模仿微信录制小视频

    模仿微信录制小视频 使用系统MediaRecorder进行录制 效果预览: 预览apk下载:https://fir.im/sd36 github源代码:https://github.com/yuanf ...

  2. 自动爬取bilibi小视频

    自动爬取bilibi小视频 实验环境 实验步骤 第一步:查找request URL请求地址 第二步:代码实现 1.访问目标网址代码 2.下载情况展示 3.编写主函执行程序 实验环境 Chrome 浏览 ...

  3. android录制视频计时,Android实现微信录制小视频的计时动画

    使用微信录制小视频时会有一个倒计时的横线,如下图: 这个横线怎么实现呢? 尝试了以下几种方法: ProgressBar 自定义View + 定时器 + 重绘 TextView动态改变宽度 第一种方式使 ...

  4. android高仿微信小视频,Android仿微信录制小视频

    本文实例为大家分享了Android仿微信录制小视频的具体代码,供大家参考,具体内容如下 先上张图片看看效果 简单叙述下 首先通过Camera类调用系统相机 通过surfaceview绘制出来 通过Me ...

  5. Android之---高仿微信录制小视频(拍摄和查看)

    高仿微信录制小视频(拍摄和查看) Android仿微信小视频录制功能 http://blog.csdn.net/u012227600/article/details/50835633 Android仿 ...

  6. XVideo 一个能自动进行压缩的小视频录制库

    XVideo 一个能自动进行压缩的视频录制库 关于我 特征 支持自定义小视频录制时的视频质量. 支持自定义视频录制的界面. 支持自定义最大录制时长和最小录制时长. 支持自定义属性的视频压缩. 演示(请 ...

  7. 快速保存微信文章中视频的方法

    网上有很多保存微信视频的方法,现在给大家介绍一种,可以永久保存微信文章中的视频,本人亲试.很好用的方法,操作步骤如下: 1.找到啄木鸟微信文章助手软件 地址,解压后打开 2.采集 点击左下角号内采集, ...

  8. 微信无法拍摄小视频问题

    hi! what's up! 我是博主illa!今天给大家介绍一个我之前遇到的疑难问题! 问题描述:微信无法正常拍摄小视频,提示无法获取摄像头数据... 心路历程:当时看这个问题,百思不得其解,感觉不 ...

  9. 【高仿微信系列】03、微信录制小视频

    本文为个人原创,欢迎转载,但请务必在明显位置注明出处! GitHub地址:https://github.com/motianhuo/wechat 微信从6.0版本开始推出小视频功能,随着4G网络的出现 ...

最新文章

  1. TensorRT 7.2.1开发初步
  2. mysql中如何设置过滤器_mysql – 使用计数器实现过滤器
  3. 链表线性表及其操作c语言代码大全,用链表实现线性表的各种操作(C语言)
  4. php防止模拟请求,php防止伪造跨站请求实现程序_PHP教程
  5. 笔记-项目配置管理-创建基线或发行基线的主要步骤
  6. Django Book 2.0 笔记——会话、用户和注册
  7. java读取大txt文件_Java读取具有7000万行文本的大文本文件
  8. spark任务shell运行_Spark原理与实战之部署模式与运行机制
  9. 安卓应用安全指南 5.4.1 通过 HTTPS 的通信 示例代码
  10. Log4j2 杀不死 Java
  11. 总结新浪friendship接口
  12. Keil MDK浮点数支持不正常的解决方案
  13. sql vb xml 换行_vb中换行代码 vb代码输出怎么换行
  14. Python移植MATLAB的巴特沃斯滤波器,椭圆滤波器
  15. lenovo G480 安装无线驱动 linux
  16. 别人口中的“蓉叶云库”
  17. 迈克尔.杰克逊时代的意义
  18. Java实现仿win10计算器
  19. java中取值保留小数点后两位的四种方法
  20. 解决只有IE浏览器可以上网,其他浏览器不能上网

热门文章

  1. Linux入门笔记之一:系统分区及挂载点
  2. 10分钟讲清int 和 Integer 的区别
  3. Neo4j的免费在线培训教程
  4. Java代码获取三位数的百位、十位、个位
  5. JS实现简易多人在线聊天室
  6. mac电脑如果感觉开机要30秒左右可以试看下面方法
  7. 《嵌入式Linux开发实用教程》
  8. 【ECCV-Gait recognition from a single image using a phase-aware gait cycle reconstruction network】
  9. 物品抠图用什么软件?不知道的快过来看看
  10. 用模拟器在电脑上玩王者荣耀手游最流畅教程