微信朋友圈采集 APP,一个周末小作品~

2019-04-01 04:09:25 +08:00
 qq292382270

运行演示视频(高清): https://v.youku.com/v_show/id_XNDEyMDUyMTc3Ng==.html

去年的时候开发了练手,在 v2 上发过一次展示帖子: https://www.v2ex.com/t/479170
中间这段时间有一些 v2 的朋友加我想要使用.无奈当初只是纯粹的代码运行,没有匹配相对应的前后台逻辑,所以就没有发布.这次趁着周末两天比较闲(其实是失业了),更新了一下..

关于技术的使用:
1.网站界面用了 layui 的免费模版(我基本不写前端的,第一次用 layui,磕磕碰碰的粘帖了一些界面代码..
2.后台 php,没用框架.因为时间问题,不想设计什么用户登录注册等逻辑,统一使用 QQ 登录授权方式.交互问题更是欠考虑,一律表单~
3.安卓端,原生 java 开发.是的,还是因为时间问题,没有设计界面.核心是使用无障碍服务进行自动化操作.有个地方需要注意,在朋友圈的动态,打开多图进行保存和切换的时候,需要满足 ROOT 权限或者安卓 7.0+这俩条件之一,因为单纯的无障碍无法长按微信图片打开菜单保存,需要 root 下执行 adb 命令.或者 7.0+的系统无障碍可以模拟手势长按.
4.存储方式:七牛云对象存储. 之前有个项目用到七牛,所以这次的存储方式的代码就直接复制了.不过,对七牛实在没太深入,自己写了个生成上传凭证的代码,没用官方的 sdk,有点魔性,生成的凭证有的能用有的用不了.还望能看得出问题的大神前辈们指点迷津:

function qiniu_token($scope, $AccessKey, $SecretKey) {
    $scopeArr = array(
        'deadline' => strtotime("+1 hours"),
        'scope' => $scope);
    $token = json_encode($scopeArr);
    $encodedPutPolicy = base64_encode($token);
    $token = hash_hmac('sha1', $encodedPutPolicy, $SecretKey, TRUE);
    $encodedSign = base64_encode($token);
    $token = $AccessKey . ':' . $encodedSign . ':' . $encodedPutPolicy;
    return $token;
}

当前已知问题和可新增功能: 1.每次扫描间隔只会读取最新的一条动态进行判断 -> 解决方案:1.可以进行滚动页面判断间隔期间是否刷新多条;2.可以在 root 情况下读取微信本地数据库判断刷新了几条(读取数据库的时候,可以取到图片的缩略图,但是没有解密算法的话取不到原图).
2.上面说的因为七牛的上传凭证生成问题,可能导致采集到的文件上传失败. -> 解决方案:1.当前使用的是循环请求生成六次凭证的方案.只能是个临时方案; 2.新增多个保存方式,例如加入阿里云腾讯云百度云以及自定义 url 的方式.
3.适配问题.当前仅测试一加 123 和小米 max 这四个机型.其他机型可能有一些蜜汁 bug..
4.可新增在 root 下读数据库获取动态发送者的 wxid 及头像功能.
5.可新增采集指定好友所有朋友圈数据功能.
7.网站还有一堆逻辑没写..
8. ....

最后:
上一段说的那些问题和待完善的,我估计都不会再去理他了,可能也不会再更新,除非这个 app 有一定量的用户..
这样的脚本采集方式是非常低效率的,如果看到这篇文章的你,真的有这方面的需求,可以考虑用 ipad 协议开发而成的程序.至于去哪里找,别问,问就是百度.

非盈利,纯兴趣项目.为了防止 seo,有兴趣用一下的朋友,网址可以到视频里面看浏览器地址栏即可.. 最近心态崩了,睡了,安..

6424 次点击
所在节点    分享创造
10 条回复
ji980925
2019-04-01 07:53:56 +08:00
我用按键精灵写过一个,遇到的问题和你的基本一样,只能识别第一条动态等等。
按键精灵虽然 low, 但是好在能适配大部分 root 过的 Android 手机
licoycn
2019-04-01 09:28:39 +08:00
用 auto.js 会不会也可以实现相关功能
a62527776a
2019-04-01 11:03:39 +08:00
优酷毒啊 45 秒广告就关了
eW91IHNlZSBtZQ
2019-04-01 12:29:17 +08:00
为啥不传到 bilibili
qq292382270
2019-04-01 15:07:30 +08:00
@ji980925 最简单的就是滚动一页就可以解决问题
@licoycn auto.js 也是这样实现的. 一样的
@a62527776a 哈哈...
@eW91IHNlZSBtZQ 我可能是个假程序员..没有在 bilibili 上传过视频
Shawnnnnnn
2019-04-02 08:22:37 +08:00
@qq292382270 acfun? Youtube?
milesnihao
2019-04-02 09:10:15 +08:00
bilibili 的题目难的我现在都没做出来。
zw1234
2019-04-02 10:11:57 +08:00
16 年的时候我玩过,采集整个朋友圈,然后排版做成电子书了,商业化失败了...有兴趣交流下:emhlbmc1OTM0NDY4OTk=
qq292382270
2019-04-02 19:27:43 +08:00
@Shawnnnnnn 哈哈.. 也没有..
@milesnihao 我靠百度硬查了一半的题..
@zw1234 已加
theliuqi
2019-09-26 17:21:30 +08:00
膜拜大佬,最近想去深圳发展.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/550659

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX