0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用Python实现实时监控别人微博动态

马哥Linux运维 来源:未知 作者:易水寒 2018-10-03 12:32 次阅读

前几个星期在写一个微博监控系统 可谓是一波三折啊 获取到微博后因为一些字符编码问题 导致心态爆炸开发中断 但是就在昨天发现了另外一个微博的接口

一个手机微博的接口https://m.weibo.cn/ 经过一番测试后认为这个接口满足我的要求 就继续完成未完成的使命吧

0x01 分析:

这个接口直接访问的话会有一个302跳转到一个登陆界面

也就是说这里需要先模拟登陆一下才可以访问到微博抓个包分析了一下

发现只要用户名和密码正确既返回200且json部分的retcode会返回20000000

少了验证码这一大坑 那模拟登陆就相当简单啦

登陆完后访问用户主页 例如:https://m.weibo.cn/u/3023940914可以在审查元素的Network模块看到 这里用了两个xhr来加载用户信息及微博信息

分别是

https://m.weibo.cn/api/container/getIndex?type=uid&value=3023940914&containerid=1005053023940914https://m.weibo.cn/api/container/getIndex?type=uid&value=3023940914&containerid=1076033023940914经过测试这个接口直接加上type和value参数访问 就相当于第一个接口 不必加上containerid参数而第二个接口的containerid参数则是通过第一个接口获取的

获取到第二个containerid参数访问第二个接口就可以获取到这个uid发布的微博了

返回的是json格式的数据 用户的微博信息都在cards列表里每条数据的mblog数组里面 包括微博正文、图片、来源与时间等

其中card_type标识的是微博类型 例如:文字微博 图片微博 视频微博 转发等 经过测试文字微博和图片微博的card_type标识都一样为9

这里初步只开发监控文字和图片微博的功能其实就是懒

0x02 开发

首先需要模拟登陆 后续的操作都需要基于登陆的格调来进行 也是需要在同个会话进行 可以使用requests.session()方法来完成代码片段:

登陆完成后就可以拼接用户id访问前面说的第一个接口了访问完后再拼接containerid参数获取微博信息的json数据代码片段:

这里把所有获取到的微博的id存起来 后面继续访问是发现有新的微博id不在这个列表里就证明是新发布的微博代码片段:

将这些方法封装成了一个类 完整代码如下

写了个一发现有新微博就发邮件提醒的功能 完整代码见Github地址 https://github.com/naiquann/WBMonitor

0x03 测试

运行代码

填写完相关的登陆信息及要监控的用户的id后

这里写了一个心跳包 每三秒访问一次看看有没有新微博发布

测试的时候这样比较方便 要是拿来用的话可以酌情增加间隔时间

当有微博发布的时候

大功告成啦 监控小姐姐的微博去喽~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 监控系统
    +关注

    关注

    21

    文章

    3859

    浏览量

    173488
  • 代码
    +关注

    关注

    30

    文章

    4742

    浏览量

    68326
  • python
    +关注

    关注

    55

    文章

    4779

    浏览量

    84440

原文标题:Python黑科技:利用Python实现微博监控小姐姐动态

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    树莓派上使用OpenCV和Python实现实时人脸检测

    理论知识,因此初学者也能轻松跟着步骤实现。 项目所需设备 硬件: 树莓派 3 Model B; 树莓派摄像头模块(PiCam)。 语言和库: OpenCV Python 3 步骤 本文主要讲述如何使用 PiCam 实现实时人脸识
    的头像 发表于 03-06 09:00 5.1w次阅读

    LED显示屏动态显示和远程监控实现

    由于普通LED点阵显示屏动态显示通常采用硬件扫描驱动,这在一些需要特殊显示的场合显得不够灵活。文中提出了一种利用PC机和单片机的通讯来实现显示屏灵活的动态显示和远程
    发表于 03-07 14:35

    LAbVIEW实现实时文字对话交流

    有木有人做过使用LAbVIEW实现实时文字对话交流的,类似于QQ?求指导!
    发表于 04-16 18:16

    LabVIEW数据如何利用动态链接库实时地传递给远程的计算机?

    LabVIEW实验后的数据如何利用动态链接库实时地传递给远程的计算机?最近在做一个项目,用LabVIEW采集并处理后的数据需要实时地传递给外地的实验室,对方继续
    发表于 04-08 20:05

    labview中怎么样实现实时采集声音信号

    labview中怎么样实现实时采集声音信号,并对声音信号进行FFT的频谱分析?如图K是进行离散傅里叶变换后取的从1到512,SK是K对应的幅值。如何实现这个公式啊
    发表于 04-28 14:42

    【DNA Kit申请】利用手机对大棚温湿度的实时监控

    申请理由:利用手机与大棚的温湿度的实时监控利用wifi模块,实现大棚的物联网技术,让农业更加智能化。项目描述:
    发表于 09-23 11:46

    用Labview实现对设备的实时监测和远程监控的问题?

    纯小白一个,现在要给一个设备做一个实时监测和远程监控的上位机,主要是现场实时的采集传感器的信号,然后在软件上显示,然后还要让别的计算机可以远程的监测数据和控制机器,想问一下大神们,实时
    发表于 12-20 21:46

    请问树莓派官方的摄像头能进行实时监控吗?

    请问树莓派官方的摄像头不能进行实时监控吗!是不是实现实时监控只能用USB摄像头啊!
    发表于 11-11 05:55

    Python如何实现模糊动态聚类

    利用Python实现模糊动态聚类
    发表于 06-02 17:38

    光线追踪如何实现实时三维图形?

    什么是光线追踪?光线追踪如何实现实时三维图形?
    发表于 02-26 07:03

    如何利用Python实现Arduino UNO的串口通信呢

    利用Python实现串口通信的原理是什么?如何利用Python实现Arduino UNO的串口
    发表于 12-21 06:32

    基于SVG的实时监控系统设计与实现

    基于SVG的实时监控系统设计与实现 SVG克服了现有的基于象素的Web上的图形的缺点并且很好的融合了传统Wab 的标准,同时弥补了Web。图形在动态性和交互式能力方面的
    发表于 02-22 17:20 32次下载

    采用Protothread实现实时多任务系统

    采用Protothread实现实时多任务系统 在许多系统资源非常紧张的单片机应用中,使用实时操作系统进行任务调度来实现实时多任务系统时,由操作系统带来
    发表于 03-29 15:10 1439次阅读
    采用Protothread<b class='flag-5'>实现实时</b>多任务系统

    基于python的ngxtop的安装、监控nginx与用法解析

    ngxtop是用python开发的一款监控nginx访问日志的工具, 它可以实时动态地查看访问最多的请求。
    的头像 发表于 02-01 11:44 5058次阅读
    基于<b class='flag-5'>python</b>的ngxtop的安装、<b class='flag-5'>监控</b>nginx与用法解析

    通过利用CCD传感技术实现物体的动态实时测量

    目前,对物体的重量进行测量主要依据两种基本原理。一是利用力学中的杠杆平衡原理,二是利用各种传感器将物体的重量信息转化成电信号,再对此电信号进行分析处理提取该物体的重量信息。前者适用范围广,量程大,是一种经济的方法,但测量精度有限且需人工完成,因此,这种方法无法
    的头像 发表于 04-02 09:21 3599次阅读
    通过<b class='flag-5'>利用</b>CCD传感技术<b class='flag-5'>实现</b>物体的<b class='flag-5'>动态</b><b class='flag-5'>实时</b>测量