纵有疾风起
人生不言弃

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图
image.png

近期,小伙说他女朋友可以实时监控了自己的微博一更新动态,到最后被现场抓了都是一脸懵逼;
于是他找上我,问我他女朋友是如何得知自己微博一更新动态,想弄明白到底是怎么回事;
这必须得安排上啊,让我们愉快地开始吧
下面看具体操作方式:

相关工具

Python版本:3.6.4
相关模块:
DecryptLogin模块;
以及一些Python自带的模块。

一. 项目要求

实时监控某个微博用户有没有发新的微博。

二. 微博模拟登陆

调用我之前开源的DecryptLogin库就可以很方便地实现微博的模拟登陆了。
模块地址(硬核广告,欢迎大家stars):

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图1
image.png

三. 微博监控

  1. 确定待监控用户

(1)指定用户id进行微博监控

这个很简单,在浏览器里登陆微博移动端,然后点进想要监控的用户的微博主页,就可以找到该用户的用户id了,例如下图所示:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图2
image.png

(2)监控关注列表中的某用户

简单抓包可以发现:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图3
image.png

只要不断请求(page每次加1)上图中红框框出的链接直到返回的数据为空就可以获取登录用户的关注列表中的所有用户信息了,具体代码如下:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图4
image.png

然后用户自主选择想要监控的微博用户:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图5
image.png

用户选择完毕后,利用正则表达式获取该微博用户的用户id:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图6
image.png
  1. 实现微博监控

步骤一:获取被监控微博用户发布的所有微博

经抓包分析与实际测试,获取被监控微博用户发布的所有微博流程如下:

① 获取第一个containerid

登录状态的session请求用户主页后通过正则表达式从session的cookies中提取。

② 获取第二个containerid

利用第一个containerid、user_id请求:

https://m.weibo.cn/api/container/getIndex?uid={}&luicode=10000011&lfid=231093_-_selffollowed&  type=uid&value={}&containerid={}即可获取第二个containerid。

③ 获取被监控微博用户发布的所有微博数据

利用第二个containerid、user_id请求:

https://m.weibo.cn/api/container/getIndex?uid={}&luicode=10000011&lfid=231093_-_selffollowed&type=uid&value={}&containerid={}

即可获取被监控微博用户发布的所有微博数据。

步骤二:实时监控

不断重复步骤一,获取被监控微博用户发布的所有微博,将获取的数据与上一次获取的被监控微博用户发布的所有微博数据进行对比,若有新的数据,则代表被监控微博用户发布了新的微博。

具体代码实现如下:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图7
image.png

效果展示

运行方式:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图8
image.png

效果演示:

和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪插图9
image.png

最后
如果你还是不会编写这个脚本,可以关注小编。
点击了解更多获取PythonWeb开发,数据分析,爬虫等学习知识,以及这个脚本的源码
了解更多

文章转载于:https://www.jianshu.com/p/9bf614d2255d

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 和女友异地,女友确对我的行踪了如指掌,原来她用Python监控行踪
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录