wxpy也是一个python的模块,利用它我们可以做很多有意思的事情
首先利用一句代码我们就可以利用python登录网页版微信

bot = Bot(cache_path= True)

这条语句会产生一个二维码,我们扫描了这个二维码之后就可以登录我们的微信了功能一:获得微信好友信息
利用一行语句获得你微信好友的个数、男女比例、TOP10省份及TOP10城市

my_friends.stats_text()

效果如图

利用下面两行代码我们可以给微信好友发送信息

friends = my_friends.search('你想要发送的人名')[0]
friends.send('你想要发送的信息')

所以衍生了下面两个功能功能二:群发消息

my_friend = bot.friends()
for i in my_friend[1:]:a = i.namefriend = my_friend.search(a)[0]print('正在发送',friend)friend.send('')#你想要发送的内容print('ok')time.sleep(1)#由于发送消息太快最后加上一个延迟

功能三:消息轰炸

friends = my_friends.search('你想要发送的人名')[0]
for i in range(50):friends.send('你想要发送的信息')

我这里是发了50遍,记得加上time.sleep(),要是发送太快会被禁止发信息的功能四:获得好友头像
利用friend.get_avatar函数

def CREATE_PICPATHT():path = os.getcwd() +"pic"if not os.path.exists(path):os.mkdir(path)return path
def IMAGE_SAVE(path):my_friends = bot.friends()num = 0for friend in my_friends:print(friend.name)friend.get_avatar(path + '' + str(num) + ".jpg")num = num + 1
path = CREATE_PICPATHT()
IMAGE_SAVE(path)

效果如图:

功能五:头像拼接
下面展示一些 内联代码片。

def PJ_IMAGE(path):length = len(os.listdir(path))image_size = 2560each_size = math.ceil(2560 / math.floor(math.sqrt(length)))x_lines = math.ceil(math.sqrt(length))y_lines = math.ceil(math.sqrt(length))image = Image.new('RGB', (each_size * x_lines, each_size * y_lines))x = 0y = 0for (root, dirs, files) in os.walk(path):for pic_name in files:try:with Image.open(path + pic_name) as img:img = img.resize((each_size, each_size))image.paste(img, (x * each_size, y * each_size))x += 1if x == x_lines:x = 0y += 1except IOError:print("头像读取失败")img = image.save(os.getcwd() +"/wechat.png")print('已完成')

path就是上面获得头像的path,这串代码是借鉴别的大神的

最后我把代码整合在了一起并加上了按钮和界面,如下图

输入的用户名可以是备注也可以是原名,然后群发的消息也是放在第二行点击一下就好了,好友信息会以txt的文件存放,好友图片会放在文件夹里,虽然亚子有点丑

最后我也打包成了exe文件,可以直接执行

最后附上完整代码
下面展示一些 内联代码片。

from wxpy import *
import os
import tkinter as tk
import  tkinter
import math
from PIL import Image
import  time
window = tkinter.Tk()
window.title('微信')
window.geometry("800x480")
bot = Bot(cache_path= True)
l1 = tk.Label(window, text="第一行输入用户名第二行输入信息",font=("黑体", 10))
l1.pack()
ask_text = tk.Entry(background = 'orange')
ask_text.pack()
ask_text1 = tk.Entry(background = 'pink')
ask_text1.pack()
def onclick():a = ask_text.get()my_friends = bot.friends()friends = my_friends.search(a)return friends[0]
def onclick1():a = ask_text1.get()return a
def CREATE_PICPATHT():path = os.getcwd() +"pic"if not os.path.exists(path):os.mkdir(path)return path
def IMAGE_SAVE(path):my_friends = bot.friends()num = 0for friend in my_friends:print(friend.name)friend.get_avatar(path + '' + str(num) + ".jpg")num = num + 1
def CREATE_TXTPATH():a = os.getcwd()filename = a + '用户信息' + '.txt'return filename
def GET_FriendSTXT(filenmame):my_friend = bot.friends()with open(filenmame,'w') as f:f.write(my_friend.stats_text())print('ok')
def SEARCH_FRIENDS(name):my_friends = bot.friends()friends = my_friends.search(name)return friends[0]
def SEND_MESSAGES(friends,message):friends.send(message)
def func():path = CREATE_TXTPATH()GET_FriendSTXT(path)
def func1():path = CREATE_PICPATHT()IMAGE_SAVE(path)PJ_IMAGE(path)
def func2():a = onclick()b = onclick1()a.send(b)print('发送成功')
def func3():for i in range(50):time.sleep(1)func2()
def PJ_IMAGE(path):length = len(os.listdir(path))image_size = 2560each_size = math.ceil(2560 / math.floor(math.sqrt(length)))x_lines = math.ceil(math.sqrt(length))y_lines = math.ceil(math.sqrt(length))image = Image.new('RGB', (each_size * x_lines, each_size * y_lines))x = 0y = 0for (root, dirs, files) in os.walk(path):for pic_name in files:try:with Image.open(path + pic_name) as img:img = img.resize((each_size, each_size))image.paste(img, (x * each_size, y * each_size))x += 1if x == x_lines:x = 0y += 1except IOError:print("头像读取失败")img = image.save(os.getcwd() +"/wechat.png")print('已完成')def func4():my_friend = bot.friends()b = onclick1()for i in my_friend[1:]:a = i.namefriend = my_friend.search(a)[0]print('正在发送', friend)friend.send(b)  # 你想要发送的内容print('ok')time.sleep(1)
window.bind('<Return>', onclick)
click_button = tkinter.Button(window,text = '获取好友信息',background = 'purple',width = 10,height = 4,command = func)click_button.pack(side = 'left')
click_button1 = tkinter.Button(window,text = '获取好友图片',background = 'green',width = 10,height = 4,command = func1)
click_button1.pack(side = 'right')
click_button2 = tkinter.Button(window,text = '点击发送信息',background = 'blue',width = 10,height = 4,command = func2)
click_button2.pack(side = 'top')
click_button3 = tkinter.Button(window,text ='连续发送五十',background = 'pink',width = 10,height = 4,command = func3)
click_button3.pack()
click_button4 = tkinter.Button(window,text ='群发信息',background = 'grey',width = 10,height = 4,command = func4)click_button4.pack(side = 'bottom')
window.mainloop()

所有项目源码获取加群:1136192749

原作者:白胡子是这个世界上最猛的男人

python里的resize_利用python之wxpy模块玩转微信!这部小儿科吗!相关推荐

  1. python3wxpy下载_如何利用python之wxpy模块玩转微信

    wxpy也是一个python的模块,利用它我们可以做很多有意思的事情 首先利用一句代码我们就可以利用python登录网页版微信 bot = Bot(cache_path= True) 这条语句会产生一 ...

  2. Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略

    Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名.合并两个不同路径下图片文件名等目录/路径案例.正确加载图片路径)之详细攻略 目录 利用python ...

  3. Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法

    Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...

  4. 用python做数据分析pdf_利用python进行数据分析pdf

    利用python进行数据分析pdf微盘下载!<利用python进行数据分析>利用Python实现数据密集型应用由浅入深帮助读者解决数据分析问题~适合刚刚接触Python的分析人员以及刚刚接 ...

  5. Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件

    Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 目录 利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 1.先下载ff ...

  6. python自动化测试数据驱动_利用Python如何实现数据驱动的接口自动化测试

    大家在接口测试的过程中,很多时候会用到对CSV的读取操作,本文主要说明Python3对CSV的写入和读取.下面话不多说了,来一起看看详细的介绍吧. 1.需求 某API,GET方法,token,mobi ...

  7. python etree创建xml_利用 Python ElementTree 生成 xml的实例

    Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree. 首先 import 之: from xml.etree import Eleme ...

  8. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  9. python计算信息增益_利用Python提取ABAQUS的计算结果(ODB)信息、体积、应变等变化(一)...

    00 实例模型 一个金属长方体,我们需要对其做拉伸的加载约束示意图如图1,并在完成后采用Python命令流读取参考点的位移.体积.应变随加载时间的变化情况. 图1 金属长方体约束加载示意图 01 Py ...

最新文章

  1. NLog文章系列——入门教程(上)
  2. 【新产品发布】【iHMI43 智能液晶模块 2013 版】
  3. 控制器框架Struts与策略模式那点事
  4. [翻译]Json.NET API-Linq to Json Basic Operator(基本操作)
  5. net项目总结一(1)
  6. Java内存分析1 - 从两个程序说起
  7. 20个常用Linux性能监控工具/命令
  8. excel了解mysql_对比Excel、MySQL、Python,分别讲述 “if函数” 的使用原理!
  9. mac 抓包工具chares破解
  10. 怎么禁止开机启动nvidia
  11. Padavan完整编译教程
  12. CSS命名规范--BEM
  13. 【Android -- 技术周刊】第 006 期
  14. Java工程师 Java基础面试题集合类(Day06)
  15. Redis 可视化管理(AnotherRedisDesktopManager / Medis / redis-commander / RedisDesktopManager)
  16. 笔记本新增一块1T固态,如何将系统迁移到新的固态,无缝对接(无需重装系统,迁移后直接用)。
  17. Unity(Animation和Animator)
  18. mysql 数据库 期末复习题库
  19. 【转】你所未见的2009
  20. 超融合架构的本质是什么(上)

热门文章

  1. 【Linux部署】Greenplum数据库6.13.0单机版 [CRITICAL]:-Error occurred: non-zero rc: 1(报错详情+问题处理:内存释放)
  2. nginx反向代理和负载均衡
  3. android d-bus,android EventBus的使用
  4. fortran还是python_Fortran 还有存在的必要吗?
  5. Eureka出现No instances available for xxx的五种解决方案(不能解决你骂我)
  6. python读取txt文件并批量写入不同的excel
  7. 《移动应用开发》实验报告——仿饿了么商家页面
  8. C++ scanf()函数安全性问题
  9. cn域名注册十元_网站域名查询、域名注册流程详解
  10. task2:opencv的python接口图像储存、色彩空间、