Coder Social home page Coder Social logo

jtaosj / wechat_mp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rogerlining/wechat_mp

0.0 1.0 0.0 496 KB

微信公众号后台还是有很多好玩的API的, 例如搜索某个公众号的所有历史图文,或者根据关键词搜索原创的推文。

License: MIT License

Python 100.00%

wechat_mp's Introduction

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 = "[email protected]"
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内存管理")

3. 导出公众号选择的模板行业库中的所有模板示例

注意:认证的服务号才能使用该接口

目前支持:
  • 获取公众号目前的模板行业里的所有模板
  • 可以获取具体示例
目前不支持
  • 导出到excel文件
使用方法
>>> templates = client.get_templates(threads=20, detail=True) # threads是使用多少个线程跑,detail是否获取具体示例
>>> templates[0] # 查看第一个模板

{'class1': 'IT科技',
 'class2': '互联网|电子商务',
 'id': 'OPENTM228356100',
 'person_used': 46,
 'title': '创建简历成功提醒',
 'detail': {'class1': 'IT科技',
  'class2': '互联网|电子商务',
  'content': '{{first.DATA}}\n简历名称:{{keyword1.DATA}}\n发布时间:{{keyword2.DATA}}\n{{remark.DATA}}',
  'example': '您在58同城上创建简历成功\r\n简历名称:财务主管\r\n发布时间:2014-07-27\r\n若非本人操作请联系客服中心进行修改',
  'id': 'OPENTM228356100',
  'modify_time': '2015-01-15 16:47:52',
  'person_used': 46,
  'title': '创建简历成功提醒'}}

作者公众号

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/*

作者

贡献者

wechat_mp's People

Contributors

zxyle avatar rogerlining avatar rogerleening2 avatar dependabot[bot] avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.