导出一个公众号里的所有群发图文、根据关键词搜索原创图文和导出行业模板消息示例


Keywords
wechat-backend, wechat-mp
License
MIT
Install
pip install wechat-mp==1.3.0

Documentation

wechat_mp 是什么?

是用来登陆微信公众号后台的第三方库,而登陆后台不是微信操作后台发送群发或者消息等,因为微信本身就提供了开发者文档供用户调用。 微信后台有一些功能是API不提供的,例如以下三个:

  • 根据公众号名称搜索公众号,并查看其群发过的图文
  • 根据关键词搜索相关的群发图文
  • 导出公众号选择的模板行业库中的所有模板示例

Python版本

  • Python 3.6.x

如何安装

源码安装

$ git clone https://github.com/RogerLiNing/wechat_mp.git
$ cd wechat_mp
$ python setup.py install

pip 安装

pip install wechat-mp

使用方法

登陆

需要注意,你需要先注册一个微信公众号账号, 服务号或者订阅号都可以。需要注意,只有认证的服务号才能获取行业模板消息。 enable_cookies参数控制是否保持登录, 默认为False,

需要注意的是,目前使用PIL弹出二维码,如果在没有GUI的操作系统无法扫码。

当同一账号连续输错三次密码时,会需要输入验证码,届时会自动打开验证码图片,记住验证码后关闭图片查看,然后在程序中输入验证码即可。

from wechat_mp import WeChat

EMAIL = "me@example.com"
PASSWORD = "admin"

# 可同时初始化多个不同的账号,例如client1, client2
client = WeChat(email=EMAIL, password=PASSWORD, enable_cookies=True)

1. 查询某个公众号的历史群发图文

目前支持:

  • 根据名称搜索公众号
  • 公众号本身是对象,可以通过对象方法articles获取其图文列表
  • 图文本身也是对象,可以查看其属性
  • 可以将图文列表导出到Excel文件中

搜索公众号:

返回公众号对象列表,公众号对象中主要的两个:nickname 和 service_type

accounts = client.search_account("python阅读空间", limit=10)

公号对象属性

属性 解释
fakeid ID
nickname 公众号昵称
alias 自定义昵称
round_head_img 圆头像地址
service_type 公号类型

获取公众号的推送图文

这里选取了第一个账号,调用articles()方法获取其所有的图文。有些公众号有很多图文,传入limit参数来获取前N篇图文。 你也可以传入title_contain参数来只获取标题包含特定关键词的图文,可以传入interval参数来限制请求频率,默认3秒。

articles = accounts[0].articles()

图文对象属性

属性 解释
aid 群发ID+ 群发序号
appmsgid 群发id
cover 封面地址
digest 图文摘要
itemidx 图文群发序号
link 图文链接
title 图文标题

导出到文件

调用图文结果对象articles 提供了 save_articles_as_excel方法可以导出图文结果到Excel文件。

articles.save_articles_as_excel("python阅读空间")

2.根据关键词搜索图文

目前支持:

  • 根据关键词搜索图文
  • 图文本身也是对象,可以查看其属性
  • 可以将图文列表导出到Excel文件中

搜索图文

调用search_article方法会返回一个结果对象,你可以是用for循环输出打印

result = client.search_article("python内存管理",limit=100)

图文对象属性

属性
article_type 图文类目
author 作者
content 正文内容(包含HTML代码)
cover_url 封面地址
head_img_url 公众号头像地址
nickname 公众号昵称
source_can_reward
source_reprint_status
source_url
title 图文标题
url 图文地址

将图文导出到Excel文件

调用图文结果对象result 提供了 save_articles_as_excel方法可以导出图文结果到Excel文件。

result.save_articles_as_excel("python内存管理")

作者公众号

Python阅读空间

Python阅读空间

打包

python -m pip install --user --upgrade setuptools wheel
python setup.py sdist bdist_wheel

dist/
  example_pkg_your_username-0.0.1-py3-none-any.whl
  example_pkg_your_username-0.0.1.tar.gz

上传

python -m pip install --user --upgrade twine
python -m twine upload dist/*

作者

贡献者