python之爬去微信通信录好友头像

python之爬去微信通信录好友头像

博主最近被学习和生活搞得一团糟,主要是科技英语的作业,想想都,,,网络公众平台就不说那些你懂的的那些话,一个学通信的作业+考试要求和翻译硕士一样对待,,,哎,只怪自己怪不得别人当初我是有机会选其他课的,但是当时和前任吵架一时赌气选了大家都说不能选的这个科技英语,,,只能打碎牙往肚子里咽,说明任何时候都不能意气用事,年轻人火气不能太大啊,,,好好爱自己好好孝顺家人才是正道。科技英语作业搞得烦的就看到同学搞了这么个,所以就借鉴来玩玩,比较python这么好玩,,,不废话啦进入正题。

准备工作

博主此次是在sublime环境下+命令窗口下进行的。
sublime-Text3下载安装
sublime-Text3之python环境变量的配置
使用:pip install 包名命令来安装所需要的包


1:代码

 # coding=utf-8
"""
@author: jiajiknag
程序功能:  利用python爬去微信头像
""" 
# 导包
from numpy import *
# itchat包爬去微信好友的头像,然后拼接成一个大的头像
import itchat
import PIL.Image as Image
#os.listdir()列出()的目录和文件
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_image文件夹用于存放头像,并写入对应的图片名,空白的
        fileImage = open("./user_image/" +str(num) +".jpg",'wb')
        # 将获取的微信头像文件写到创建的图片文件中
        fileImage.write(img)
        # 关闭资源
        fileImage.close()
        num += 1

def get_big_img():
    """制作大头像"""
    # 获取放获取头像文件夹的名字
    pics = listdir("user_image") 
    numPic = len(pics)
    # 设置图片的大小
    toTmage = Image.new("RGB",(800,800))
    # 图片的位置
    x = 0
    y = 0
    # 遍历user_image文件夹的图片(遍历文件夹中图片的名字)
    for i in pics:
        try:
            # 依次打开图片
            img = Image.open("user_image/{}".format(i))
        except IOError:
            print("没有找到文件夹或者读取文件失败",i)
        else:
            # 重新设置图片的大小
            img = img.resize((45,45),Image.ANTIALIAS)
            # 将图片粘贴到最后的大图片上,需要注意对对应的位置
            toTmage.paste(img,(x*50,y*50))
            # 设置每一行排10个头像
            x += 1
            if x==16:
                x=0
                y+=1
    # 保存图片为bigPhoto.jpg
    toTmage.save("user_image/"+"bigPhoto.jpg")
    # 将做好的图片发送到自己的手机上
    itchat.send_image("user_image/"+"bigPhoto.jpg",'filehelper')


def main():
    # 定义执行主函数
    get_imgs()
    get_big_img()
# 执行
if __name__=="__main__":
    main()

说明
图下说明了代码中用于存放获得头像文件的存储路径
这里写图片描述

2:运行结果

到存储图片的文件夹中查看结果。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Jiajikang_jjk/article/details/80284098
今日推荐