继微信机器人后,我又开发了微博机器人(附带分享一点抓包经验以及沙雕表情)

前言

继我开发微信机器人后 https://github.com/Hanson/vbot (今天终于 3.1K star),我又闲着无聊开发了微博机器人 https://github.com/Hanson/weibot

继微信机器人后,我又开发了微博机器人(附带分享一点抓包经验)

其实我本意并没有打算动手开发,但无奈去找相关PHP源码时,有点让我心塞

图片

PHP 相关的包只有两个!

而且!没有一个是能够自动登录的!其中一个还是在PHP调用JS去加密密码!

换句话说就是你跑脚本的时候还要使用一下浏览器,调用一下 JS 方法,把加密好的密码复制黏贴到 PHP 脚本里。

qBvGxVKioF.png!large

还没见过这么骚的操作,于是我抡起键盘开始新一轮复兴 PHP 的道路。

YES!PHP CAN!!!

O3WEHxAHAd.png!large

正片

项目链接: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);
  • 有部分地方是异步接口的,例如下滑滚动分页

最后

欢迎大家来微信一起吹吹水

HSx3wOiTA2.png!large

本作品采用《CC 协议》,转载必须注明作者和本文链接
❤️ 微信生态自动智能化方案加微信:hansonskr ❤️ 备注:vbot
附言 1  ·  4年前

你们能不能别跟楼了。。。

本帖由 Summer 于 4年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 74
Jourdon

虽然不玩微博,赞还是要给的

4年前 评论
Jourdon (作者) 4年前
小李世界 4年前

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论
几乎成名丶

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论
bigliang_iOS

虽然不玩微博,赞还是要给的

4年前 评论

虽然不微玩博,赞是还要的给

4年前 评论
萧晔离

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

对了,顺便问下大佬,我一直存在的疑问:

就是为啥微信/微信都提供开放api了,为啥还去开发这个呀? 有点没明白

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

@839891627 开放的API是有限的,主要是做微博登录的。而爬虫是可以爬微博数据

4年前 评论

想问下vbot机器人是不能用了吗?微信好像已经封了网页登录

4年前 评论

@qf-Z 不是不能用,看你的账号能否登录微信网页版,可以的话就能用

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

ps 不跟楼会显得我不和群

4年前 评论

虽然不玩微博,赞还是要给的

ps 加一,我强迫症犯了,不跟楼好别扭

4年前 评论

前阵子刚看到这个PHP的 stockoverflow 的聊天室应用,https://github.com/async-bot/example 也是支持机器人的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

哦是嘛? 虽然不玩微博, 赞还是要给的.

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

老铁666

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

老哥,微信网页版限制登录了,有啥解决办法吗

4年前 评论

@Hanson :sob:

4年前 评论
WhiteDragon 3年前
foobar

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩赞,微博还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论
QiFengLe_

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

赞还是要给的……前面几个字大家都在说,我就省略了

4年前 评论

老板啥时候出个ipad的协议。

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

二维码失效了。

4年前 评论

虽然不玩微博,我也不给赞 (#^.^#)

4年前 评论

不错哦 👍

4年前 评论

666,支持一下

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论
panda-sir

这个 不会给律师函警告么 :joy:

4年前 评论

虽然不微玩博,赞是还要的给

4年前 评论
smiles

虽然不微玩博,赞是还要的给

4年前 评论

表情包这么好,赞是少不了的。

4年前 评论

超哥@overtrue 已经把你的号给封了

4年前 评论

@cocoyo 超哥早不在微博工作了

4年前 评论

没意义的工作。

4年前 评论

虽然不微玩博,赞是还要的给

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

感觉很🐂🍺 ,虽然不玩微博,star还是要给的

4年前 评论
幽弥狂

超哥把你QQ号封了

4年前 评论

为什么你能这么闲 :grin:

4年前 评论
blankqwq

虽然不玩微博,赞还是要给的

4年前 评论

谢谢分享

4年前 评论

虽然不玩微博,赞还是要给的

4年前 评论

虽然不玩微博,赞还是要给的

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!