继微信机器人后,我又开发了微博机器人(附带分享一点抓包经验以及沙雕表情)
前言
继我开发微信机器人后 https://github.com/Hanson/vbot (今天终于 3.1K star),我又闲着无聊开发了微博机器人 https://github.com/Hanson/weibot
其实我本意并没有打算动手开发,但无奈去找相关PHP源码时,有点让我心塞
PHP 相关的包只有两个!
而且!没有一个是能够自动登录的!其中一个还是在PHP调用JS去加密密码!
换句话说就是你跑脚本的时候还要使用一下浏览器,调用一下 JS 方法,把加密好的密码复制黏贴到 PHP 脚本里。
还没见过这么骚的操作,于是我抡起键盘开始新一轮复兴 PHP 的道路。
YES!PHP CAN!!!
正片
项目链接:https://github.com/Hanson/weibot (点进去麻烦点个 star,不然浪费了我用沙雕精神去写的这篇文章)
目前实现的功能包括:
- 搜索
- 删除微博、微博评论、转发、评论并转发、转发并评论(没错,跟上个一样)
- 我的关注、取消关注
一起参与
希望大家在点 star 的同时,也能一起参与开发,本人精力有限,尽力而为,因此也简单写了开发快速入门的方法
一、登录
微博很多操作都需要登录,所以写脚本的时候先登录,让 cookie 存储起来 $weibo->login()
二、抓包
根据浏览器看到的请求,我们可以尝试模拟一下
<?php
// $client 已经是一个带 cookie 的“浏览器”客户端了,根据实际情况进行 get 或者 post
$client = \Hanson\Weibot\Api\Api::getClient();
$response = $client->post('http://weibo.com', [
'header' => [
// 如果有特殊 header 需求
],
'form_params' => [
// 各种请求参数
]
]);
// 得到的 response 有可能是页面,也有可能是接口,自行处理
$data = json_decode($response->getBody()->getContents(), true);
- 微博部分页面是基于页面渲染的模式
- 微博的渲染并不按套路出牌,而是使用了 FM.view 的内部框架
- 抓取内容需要先在 script 里正则匹配出来相关的 HTML。 例如:
preg_match_all('/Pl_Official_MyProfileFeed__20.*html\":\"(.*)\"}/', $html, $matches);
- 有部分地方是异步接口的,例如下滑滚动分页
最后
欢迎大家来微信一起吹吹水
本作品采用《CC 协议》,转载必须注明作者和本文链接
你们能不能别跟楼了。。。
本帖由 Summer
于 5年前 加精
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不微玩博,赞是还要的给
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
对了,顺便问下大佬,我一直存在的疑问:
就是为啥微信/微信都提供开放api了,为啥还去开发这个呀? 有点没明白
虽然不玩微博,赞还是要给的
@839891627 开放的API是有限的,主要是做微博登录的。而爬虫是可以爬微博数据
想问下vbot机器人是不能用了吗?微信好像已经封了网页登录
@qf-Z 不是不能用,看你的账号能否登录微信网页版,可以的话就能用
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
ps 不跟楼会显得我不和群
虽然不玩微博,赞还是要给的
ps 加一,我强迫症犯了,不跟楼好别扭
前阵子刚看到这个PHP的 stockoverflow 的聊天室应用,https://github.com/async-bot/example 也是支持机器人的
虽然不玩微博,赞还是要给的
哦是嘛? 虽然不玩微博, 赞还是要给的.
666
虽然不玩微博,赞还是要给的
厉害厉害,留个赞
老铁666
虽然不玩微博,赞还是要给的
老哥,微信网页版限制登录了,有啥解决办法吗
@芝麻 没办法
@Hanson :sob:
这个表情笑死!
虽然不玩微博,赞还是要给的
虽然不玩赞,微博还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
赞还是要给的……前面几个字大家都在说,我就省略了
老板啥时候出个ipad的协议。
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
二维码失效了。
虽然不玩微博,我也不给赞 (#^.^#)
不错哦 👍
666,支持一下
虽然不玩微博,赞还是要给的
这个 不会给律师函警告么 :joy:
虽然不微玩博,赞是还要的给
虽然不微玩博,赞是还要的给
表情包这么好,赞是少不了的。
虽赞
超哥@overtrue 已经把你的号给封了
@cocoyo 超哥早不在微博工作了
没意义的工作。
虽然不微玩博,赞是还要的给
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的
感觉很🐂🍺 ,虽然不玩微博,star还是要给的
超哥把你QQ号封了
为什么你能这么闲 :grin:
虽然不玩微博,赞还是要给的
谢谢分享
虽然不玩微博,赞还是要给的
虽然不玩微博,赞还是要给的