CSDN博客:皮乾东
知乎:Htrying
微博:Htring的微博
微信公众号:天然语言处理爱好者(ID:NLP_lover)python
以前写过使用itchat作一个简单的微信聊天机器人,感受仍是挺好玩的,最近看到网上一些关于爬去微信好友头像的一些程序,今天就特意就去实验了一番,感受仍是挺好玩的。web
本程序的环境是:win10;python3.6;以及numpy、itchat包、PIL包;
numpy的安装这里就再也不介绍(传送门);这里须要介绍的是,itchat安装:在dos窗口 :pip install itchat;
对于PIL这个麻烦一些,须要在pythonlib中下载对应的文件pillow(PIL已经再也不维护,这是升级版),而后再下载存放的文件夹下安装:如图
微信
#导入对应的包
from numpy import *
import itchat
import PIL.Image as Image
from os import listdir
def get_imgs():#完成主要的下载头像的任务
#使用热登陆(已经登陆的程序,再一次运行程序不须要扫描验证码),执行这一步就会有二维码须要扫描登陆
itchat.auto_login(hotReload=True)
#获取朋友列表,返回字典类型的数据集,获取好友的索引数
friends = itchat.get_friends(update=True)[0:256]
#为图片命名的变量
num = 0
#遍历好友列表
for i in friends:
#获取好友的头像
img = itchat.get_head_img(userName=i["UserName"])
#在项目文件的主建立一个user文件用于放头像,并写入对应的图片名,空白的
fileImage = open( "./user/" + str(num) + ".jpg",'wb')
#将获取到的头像文件写到建立的图片文件中
fileImage.write(img)
#关闭资源
fileImage.close()
num += 1
#制做大的大头像
def get_big_img():
#获取usr文件夹全部文件的名称
pics = listdir("user")
numPic = len(pics)
#建立图片大小
toImage = Image.new("RGB", (800, 800))
#用于图片的位置
x = 0
y = 0
#遍历user文件夹的图片
for i in pics:
try:
#依次打开图片
img = Image.open("user/{}".format(i))
except IOError:
print("Error: 没有找到文件或读取文件失败",i)
else:
#从新设置图片的大小
img = img.resize((50, 50), Image.ANTIALIAS)
#将图片粘贴到最后的大图片上,须要注意对应的位置
toImage.paste(img, (x * 50, y * 50))
#设置每一行排16个图像
x += 1
if x == 16:
x = 0
y += 1
#保存图片为bigPhoto.jpg
toImage.save("user/" +"bigPhoto.jpg")
#将作好图片发送东本身的手机上
itchat.send_image("user/" +"bigPhoto.jpg", 'filehelper')
#定义执行的主函数
def main():
get_imgs()
get_big_img()
#运行
if __name__=="__main__":
main()
合成后图片,因为隐私问题,这里把图像后期处理为100*100的了。
机器学习
python是一个充满诱惑的语言,开源的包,让人使用的不想停下来,创新的思惟可以床在出更多美妙的事物。若是你对天然语言处理、机器学习、python开发感兴趣的话,能够关注博主的我的订阅号。
svg