写一个监控采集公众号文章的插件

这篇具有很好参考价值的文章主要介绍了写一个监控采集公众号文章的插件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文链接: https://mp.weixin.qq.com/s/f8zbM6wMld3koqjaFbCuxw

前言

微信关注了很多技术类的公众号,但是一直都没看,所以想先把文章下载下来,放着以后可能一定会看。

写一个监控采集公众号文章的插件

之前写的Python微信机器人系列文章里提到了如何hook微信的实时消息,实时消息里也包含了公众号文章的推送,可以获取到文章的标题链接和发布时间,而且获取的很及时,基本公众号已发文推送就能收到。这样我们可以在收到文章后请求到正文然后保存成html,这样也可以防止文章被删除。

后面有时间顺便把这些公众号的历史文章也下载保存成pdf或HTML。已经在计划内了,采集历史并不麻烦,只是我想保存的时候也将文章的评论一起保存(有时候评论里也有有价值的回复),然后就绕了一些弯路。

另外,我创建了一个github仓库来列出这些公众号,方便大家可以看到,如果你觉得某个公众号对你有帮助也可以关注它(不是广告)。后面如果有看到新的关于逆向的公众号也会更新到仓库里。或者大家有啥好的公众号也可以推荐出来。

仓库地址: https://github.com/kanadeblisst00/high-quality-biz

不过下载完这些历史文章后,分享这些文件也是个问题。如果压缩成一个包放网盘的话不方便更新(我打算每周或者每两周更新一次历史), 如果每次更新压缩成一个包,然后每个公众号一个文件夹的话又不方便上传,也不方便看。等我下载完再看怎么分享吧

导出已关注的公众号列表

这个可以看之前写的一篇文章:【写一个Python微信机器人】第九篇: 导出自己的微信好友列表 。导出的数据里也包含了公众号。

使用教程

安装

  1. 安装支持的版本(3.9.8.15)微信 (下载链接: https://www.123pan.com/s/ihEKVv-XcWx.html 提取码: 5WLu)
  2. 安装Python,版本大于等于3.7
  3. pip install wechat_pyrobot==1.3.0

注入Python到微信

首先创建一个目录,例如robot_code,再创建一个main.py(名称随意)写入以下代码:

from py_process_hooker import inject_python_and_monitor_dir
from wechat_pyrobot import get_on_startup
from wechat_pyrobot.msg_plugins import MonitorBiz


if __name__ == "__main__":
    process_name = "WeChat.exe"
    open_console = True
    on_startup = get_on_startup(msg_plugins=[MonitorBiz])
    inject_python_and_monitor_dir(process_name, __file__, open_console=open_console, on_startup=on_startup)

启动并登录微信,执行这个main.py就会把Python注入到微信并且打开控制台。只要收到公众号的文章推送,控制台就会打印出来

写一个监控采集公众号文章的插件

编写自己的处理插件

上面的插件只是演示了怎么获取公众号文章的数据,我直接将数据打印在了控制台。如果你需要保存到文件或者数据库,你只需要继承这个插件,然后重写相应的方法。

假设你在main.py同目录创建了一个文件夹plugins,然后创建了一个文件biz.py写入以下内容:

import os
import json
from wechat_pyrobot.msg_plugins import MonitorBiz


class MyMonitorBiz(MonitorBiz):
    def __init__(self, **kwargs) -> None:
        super().__init__(**kwargs)
        self.name = os.path.basename(__file__)
        # 注意当前所在目录是微信目录,而不是main.py所在目录,所以需要用__file__来定位
        main_path = os.path.dirname(os.path.dirname(__file__))
        self.save_path = os.path.join(main_path, "公众号监听数据.json")

    def save_items(self, items):
        # item是包含多个数据(字典)的列表
        with open(self.save_path, 'a', encoding='utf-8') as f:
            for item in items:
                print(item)
                f.write(json.dumps(item) + '\n')     

接着在启动的时候传你自定义的插件即可,其他代码不用变。因为没有传httpapi插件,所以不会有fastapi开启http的提示。wechat_pyrobot1.3.0也取消了监听文件夹热更新模块,只会看到如下图所示:

from py_process_hooker import inject_python_and_monitor_dir
from wechat_pyrobot import get_on_startup
from plugins.biz import MyMonitorBiz


if __name__ == "__main__":
    process_name = "WeChat.exe"
    open_console = True
    on_startup = get_on_startup(msg_plugins=[MyMonitorBiz])
    inject_python_and_monitor_dir(process_name, __file__, open_console=open_console, on_startup=on_startup)

写一个监控采集公众号文章的插件

有公众号发文的话你就能看到公众号监听数据.json文件被创建,里面也有数据了。

公众号采集

目前采集微信公众号的文章数据,实时的话基本都得hook。一是时效性高,另外就是不需要主动请求接口,不受接口限制,只需要关注公众号等待公众号发文即可。其中hook Windows端微信的应该最多,因为Windows机器成本低,且可以用服务器长期稳定的运行。

采集历史文章的话,目前能使用的还有以下方式:

  • 微信公众平台
  • 微信读书
  • windows抓包http接口
  • 微信官方客户端(Android、windows等)的非http接口
  • 一些第三方平台,清博等

微信公众平台和windows的http接口使用的人比较多,因为技术难度低,只需要抓包到cookie或者参数就能使用,接口也都没加密。

windows http接口的入口链接 : https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU0OTkwODU2MA==。使用biz拼链接然后访问,再用mitmproxy等监听工具修改js来自动化操作(翻页和拦截参数)。但这种方法最近老是被封接口,以前只会封24小时,现在最长可以封一个月。所以我这边已经抛弃了这种方式。

写一个监控采集公众号文章的插件

第二种则是新版本打开公众号出现的窗口,这种不是http接口,只能使用hook或者协议来请求。有意思的是这个接口可以无限请求,不会被封接口,但如果请求很频繁并且到达一定量的话会封号,所以需要限制一下每天的请求量。当然,在限制的情况下也比http方式采集的数据多很多。

这个方式还有一点比较好,就是可以在请求列表页的时候获取到每篇文章的阅读数,如果你只是需要链接和阅读数的话,就不需要去每篇文章请求一次阅读数了。

写一个监控采集公众号文章的插件

本文由博客一文多发平台 OpenWrite 发布!文章来源地址https://www.toymoban.com/news/detail-855023.html

到了这里,关于写一个监控采集公众号文章的插件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【原文链接】Tri-Perspective View for Vision-Based 3D Semantic Occupancy Prediction

    原文链接:https://openaccess.thecvf.com/content/CVPR2023/papers/Huang_Tri-Perspective_View_for_Vision-Based_3D_Semantic_Occupancy_Prediction_CVPR_2023_paper.pdf 体素表达需要较大的计算量和特别的技巧(如稀疏卷积),BEV表达难以使用平面特征编码所有3D结构。 本文提出三视图(TPV)表达3D场景。为得到空间

    2024年01月23日
    浏览(49)
  • GB28181监控视频统一汇聚平台LiveGBS将海康大华华为宇视等厂家监控设备统一接入后如何生成固定播放链接或者固定的流地址可以直接无插件播放或者拉取

    目前汇聚各种厂家监控设备的视频汇聚平台,基本都是通过GB28181标准协议实现的。下面介绍下LiveGBS Web无插件直播的GB28181视频平台将各厂家(包括海康、大华、华为、宇视、天地伟业等)监控汇聚到同一个服务器上后,如何或者直播链接可以直播浏览器播放,或者二次开发嵌

    2024年02月10日
    浏览(46)
  • Flink CDC-Oracle CDC配置及DataStream API实现代码...可实现监控采集一个数据库的多个表

    使用sysdba角色登录到Oracle数据库 确保Oracle归档日志(Archive Log)已启用 若未启用归档日志, 需运行以下命令启用归档日志 设置归档日志存储大小及位置 设置数据库恢复文件存储区域的大小(如归档重做日志文件、控制文件备份等) 设置恢复文件的实际物理存储路径;scope=spfile参数

    2024年02月05日
    浏览(51)
  • 微信公众号自动回复消息中添加网页链接和小程序链接

    网页链接地址没有限制; 小程序必须是微信公众号已设置关联的小程序; 无论是网页链接还是小程序链接,基本是应用html中的a标签,只是在链接小程序时,微信添加了自己定义的两个属性,且在链接小程序时,href属性是作为备用信息,当小程序信息异常时生效,请知悉!

    2024年02月04日
    浏览(106)
  • 视频号挂公众号链接突破绑定公众号限制,突破10000阅读量限制,随便加

    想必玩视频号绑定公众号链接的应该清楚了,8月初,视频号再次对公众号做出了限制,以前是直接放在视频上 方,后来又把链接放在评论区顶部,在评论区顶部活的时间还挺长,持续了估计有一年左右,接着视频号再次放出 大招,直接做出限制,要求视频号必须绑定公众号

    2024年02月10日
    浏览(41)
  • ChatGPT专业应用:快速撰写公众号文章

    正文共  420  字,阅读大约需要  2  分钟 品牌营销/内容运营必备技巧,您将在2分钟后获得以下超能力: 快速生成公众号文章 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人  | Alice   编辑者  |  Linda ●此图片由Lexica 自动生成,输入:

    2024年02月10日
    浏览(49)
  • 公众号自动回复消息添加跳转小程序链接

    是要实现在小程序授权公众号收发消息功能 在用户关注后自动回复消息(因为要实现授权前提是用户必须先关注了公众),在消息中添加可跳转小程序的链接,就可以将小程序的参数传到授权页面进行授权,这个授权页面是一个h5页面用webview嵌在小程序中显示,因为使用小程

    2024年02月12日
    浏览(51)
  • 小程序如何跳转到公众号文章中

    1.在小程序中通过点击事件 2.新建一个页面   

    2024年02月11日
    浏览(65)
  • 【问题记录】微信小程序无法打开公众号文章

    参考链接:小程序通过webview打开公众号的文章 - 简书 问题记录: 问题1:公众号文章链接不对 解决办法:从公众号后台获取文章链接即可(不用更改业务域名) 问题2:小程序未关联公众号(检查路径:设置-关联设置-关联公众号) 解决办法:登录“公众号管理后台-小程序

    2024年02月07日
    浏览(58)
  • JAVA 获取微信公众号发布的文章列表内容

    代码业务场景 一、前提操作 二、开始操作 1.获取公众号的开发者id(AppID)和开发者密码(AppSecret),以及设置IP白名单 2.代码操作 总结 最近在给客户开发一款小程序,然后客户还有自己运营的公众号,想要把公众号里面发布的一些内容能够同步到小程序里面进行展示。如下

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包