使用http方式获取

import requests
from loguru import logger

def get_article_list(uin,key):
    url = "http://mp.weixin.qq.com/mp/profile_ext"
    headers = {
        'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A403 MicroMessenger/6.5.18 NetType/WIFI Language/zh_CN'
    }
    param = {
        'action': 'getmsg',
        '__biz': 'MzU0NDg3NDg0Ng==', # 公众号唯一ID  必须
        'f': 'json',
        'offset': 0,
        'uin':uin, # 自己的uin标识
        'key': key #这个key需要通过微信获取,pc端、app都可以
    }
    resp = requests.get(url, params=param, headers=headers)
    logger.debug(resp.json())
    logger.debug(resp.json().get('general_msg_list'))

def get_comment(uin,key):
    # 查询评论接口  重要参数:uin :微信用户唯一ID   key:具有失效性的key
    url = 'https://mp.weixin.qq.com/mp/getappmsgext?uin={}&key={}'.format(uin,key)
    hearder = {
        'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 MicroMessenger/7.0.3(0x17000321) NetType/WIFI Language/zh_CN',
    }
    # body参数重要参数:__biz: 微信公众号唯一ID   appmsg_type:定值, 必须有
    # mid 和 sn 变化值 从上一个页面可以获取       inx 定值  is_only_read 定值
    data = {
        '__biz': 'MzIwMjM5ODY4Mw==',  # 公众号唯一ID  必须
        'appmsg_type': '9',  # 和 在看 有关 必须
        'mid': '2247500578',  # 必须   # 不同文章 不同
        'sn': 'bcfbfe204ac8d6fb561c6a8e330f4c55',  # 必须 和文章有关
        'idx': '1',  # 必须
        'is_only_read': 1,  # 必须 和阅读,在看有关
    }
    resp = requests.post(url, headers=hearder, data=data)
    logger.debug(resp.json())
    logger.debug("在看: {}",resp.json().get('appmsgstat').get('like_num'))
    logger.debug("浏览: {}",resp.json().get('appmsgstat').get('read_num'))

if __name__ == '__main__':
    uin='xxxx' # 自己的uin标识
    key='xxxx' # 通过微信获取的key
    logger.debug("历史文章")
    get_article_list(uin,key)
    logger.debug("文章评论接口")
    get_comment(uin,key)

直接通过微信调用函数获取

这种方式反编译微信app(android、ios)(或者通过pc端的call调用)查看源码,然后进行编写插件进行rpc远程调用

搜狗临时链接转永久链接

这个其实比较简单直接通过特定的接口直接传入搜狗的临时微信链接即可获取到永久URL、具体到细节涉及到逆向

总结

个人比较推荐http的方式
当然有足够多的设备利用pc端也是个不错的选择
或者android? 当然ios端也可以-_-!

注:本文仅仅作为技术学习交流记录,不做任何违法犯罪的事。

更多推荐