导出一个公众号里的所有群发图文、根据关键词搜索原创图文和导出行业模板消息示例
Project description
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 -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/*
作者
贡献者
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wechat-mp-1.3.0.tar.gz.
File metadata
- Download URL: wechat-mp-1.3.0.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
689fe42c50f50267a49aa1301cd1394aed5df7bb635edf0118e69db54edcf07d
|
|
| MD5 |
3112c6a6276f4fe3c244582f16074cf1
|
|
| BLAKE2b-256 |
fe4e593c6176d6322b7e3f0e3b9fce0499e5f8156a424458ae045c24a2c1b48c
|
File details
Details for the file wechat_mp-1.3.0-py3-none-any.whl.
File metadata
- Download URL: wechat_mp-1.3.0-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14ade24abcda90e0637c891de0a285ed710bd8ca10f986ee0164628308b1b89e
|
|
| MD5 |
67beb1c5d15f8532ad6250183b4b3685
|
|
| BLAKE2b-256 |
846f511ce634d5ad1f268cfc2400d038854b8f9deb58050137b4105b08106a1c
|