项目地址:https://github.com/youfou/wxpy

帮助文档:https://wxpy.readthedocs.io/zh/latest/index.html

安装:pip install -U wxpy

简单使用代码记录

# -*- coding:utf-8 -*-import os
import sys
import json
import urllib
import requests
from wxpy import *
from bs4 import BeautifulSoupdefault_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:reload(sys)sys.setdefaultencoding(default_encoding)def handle_dt(keyword, max_size=10):resp = requests.get('https://www.doutula.com/search', {'keyword': keyword})b_soup = BeautifulSoup(resp.content, 'lxml')a_tags = b_soup.select('#search-result-page > div > div > div > div > div.search-result.list-group-item > div > div > a > img')picture_name_list = []i = 0for a_tag in a_tags:link = a_tag.get('data-original')if link is not None and str(link).endswith('jpg'):link = str(link).strip()picture_name = link[link.rindex('/') + 1:]parent_dir = os.path.join(os.path.dirname(__file__), 'picture')urllib.urlretrieve(link, os.path.join(parent_dir, picture_name))picture_name_list.append(picture_name)i += 1if i == max_size:breakreturn picture_name_listdef print_user_info(user):print '{} {} {} {} {} {} {} {}'.format(user.is_friend, user.name, user.nick_name,user.remark_name, user.sex, user.signature, user.province, user.city)if __name__ == '__main__':bot = Bot(cache_path=True)# 设置历史消息的最大保存数量bot.messages.max_history = 1000friends = bot.friends()t_friend_1 = friends.search(u'朋友1')[0]print_user_info(t_friend_1)t_friend_2 = friends.search(u'朋友2')[0]print_user_info(t_friend_2)groups = bot.groups()t_group_1 = ensure_one(groups.search(u'组1'))for member in t_group_1.members:print_user_info(member)t_person_1 = ensure_one(t_group_1.search(u'组员1'))print_user_info(t_person_1)history_msgs = bot.messages.search(keywords=u'关键字', sender=bot.self)for history_msg in history_msgs:print history_msg@bot.register(msg_types=FRIENDS)def listen_and_accept_friends(msg):a_friend = bot.accept_friend(msg.card)a_friend.send('hello')@bot.register(chats=[t_friend_1, t_friend_2])def listen_and_reply_friends(msg):print 'received msg:[{}] {}'.format(msg.type, msg.text)if msg.type == 'Picture':parent_dir = os.path.join(os.path.dirname(__file__), 'picture')print 'picture dir {} name {}'.format(parent_dir, msg.file_name)msg.get_file(save_path=os.path.join(parent_dir, msg.file_name))elif msg.type == 'Video':parent_dir = os.path.join(os.path.dirname(__file__), 'video')print 'video dir {} name {}'.format(parent_dir, msg.file_name)msg.get_file(save_path=os.path.join(parent_dir, msg.file_name))elif msg.type == 'Recording':parent_dir = os.path.join(os.path.dirname(__file__), 'recording')print 'recording dir {} name {}'.format(parent_dir, msg.file_name)msg.get_file(save_path=os.path.join(parent_dir, msg.file_name))else:msg.reply('thank you ! i have received it')parent_dir = os.path.join(os.path.dirname(__file__), 'picture')picture_name_list = handle_dt(msg.text, max_size=2)for picture_name in picture_name_list:msg.reply_image(os.path.join(parent_dir, picture_name))@bot.register(Group)def listen_and_reply_groups(msg):msg_member = msg.memberprint 'received member {} {} {}'.format(msg_member.group, msg_member.name, msg_member.display_name)print 'received msg:[{}] {}'.format(msg.type, msg.text)sender = msg.senderif isinstance(sender, Group):print_user_info(sender.owner)receiver = msg.receiverif isinstance(receiver, User):print_user_info(receiver)if isinstance(msg.chat, Group) and msg.is_at:msg.reply('thank you ! i have received it')@bot.register(t_group_1)def listen_and_reply_t_group_1(msg):parent_dir = os.path.join(os.path.dirname(__file__), 'picture')picture_name_list = handle_dt(msg.text, max_size=4)for picture_name in picture_name_list:msg.reply_image(os.path.join(parent_dir, picture_name))if msg.member == t_person_1:msg.forword(bot.file_helper, prefix=u'留言')embed()

Python学习笔记-WXPY初识相关推荐

  1. python学习笔记六 初识面向对象上(基础篇)

    python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性是继承. ...

  2. Python学习笔记:初识Tushare

    文章目录 一.Tushare概述 二.安装Tushare 1.安装Tushare 2.导入Tushare,查看版本 三.获取历史行情数据 1.get_hist_data()函数 (1)参数说明 (2) ...

  3. 【Python学习笔记(一)—— 初识Python】

    Python学习笔记(一) 文章目录 Python学习笔记(一) 前言 一.Python简介 二.初识Python 1.最简单的Python程序 2.数据类型和变量 3.流程控制 4.函数 5.类 6 ...

  4. C语言学习笔记-P1 初识C语言(1)

    C语言学习笔记-P1 初识C语言(1) P1 初识C语言(1) 一.什么是C语言 1.定义 2.发展 二.第一个C语言程序 Hello World 三.数据类型 四.变量,常量 未完待续!!! P1 ...

  5. 我的python学习笔记全集_Python学习笔记(1):助你我一起共同成长

    最近在学习python时,萌生了一个想法,把自己在学习过程中的知识做一个笔记再分享出来,既帮助了大家又能让自己重温知识,今天就发一下python学习笔记(1),助你我一起成长! 一.Python初识与 ...

  6. Python学习笔记Day 2

    Python学习笔记 Day 2 初识库(模块) pyc文件与PyCodeObject文件 数据类型 列表(数组) 一维 二维 元组(只读数组) 程序练习 字符串 字典 注: 运用 增减删找查 .ke ...

  7. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  8. python学习笔记之编写readConfig读写配置文件

    python学习笔记之编写readConfig读写配置文件_weixin_34055910的博客-CSDN博客

  9. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

最新文章

  1. 湘潭计算机职业技术学校专业介绍,湘潭计算机职业技术学校介绍
  2. Python应用实战系列-如何通过Python来操作Oracle数据库:cx_Oracle
  3. MySQL高级 - 锁 - InnoDB行锁 - 总结
  4. python中、文件最重要的功能是( )和接收数据_Python基础语法14个知识点大串讲
  5. 在Python中模拟do-while循环
  6. 【Java】字符串substring方法在jkd6,7,8中的差异
  7. 加密货币被爆重大安全漏洞,价值 50 亿美元!
  8. iphonexr电池容量_xr电池容量多少毫安,iphonexr换电池多少钱
  9. JAVA日常游玩-----用EnumMap优化代码。
  10. js函数内部定义函数的理解
  11. 下载速度15MB/s?网友实测度盘的这个新版本后惊了!
  12. Python编程学习笔记 - 下载数据进行可视化(I)
  13. C++幕后故事(七)--一个对象的生与死
  14. CPU Machine Check Architecture Error Dump (CPU: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz, CPUID: 0x
  15. 菜刀、冰蝎、蚁剑、哥斯拉
  16. MySQL 8.0 高可用之如何解决从库数据被修改引起的主从同步错误
  17. NoesisGUI入门及初步使用感想
  18. marked.js讲解
  19. [喜闻乐见]期末尻♂总结
  20. 大数据开发平台:数仓组件Apache Kylin详细安装暨使用教程

热门文章

  1. Mysql 性能优化的一些手段
  2. 互联网创业成功之道(一):互联网创业的盈利模式
  3. java基于SpringBoot+vue+elementui的高校迎新系统 新生报到系统
  4. android+彩信+预览音频,android 信息(mms)开发(八)-- 彩信的解析
  5. CellStyle单元格样式操作
  6. Layer弹出层动态获取数据
  7. vue3 + video-player 播放视频
  8. 解决删除github上仓库删除不了的问题
  9. 极品飞车21·热度,无小键盘
  10. 染色基础知识(二)——染什么?