今天咱就试试怎么爬取微信列表中所有好友的头像,并做成一张图片墙,代码不长,60 行就可以搞定。

核心是利用三个库:wxpy 库,用于获取好友头像然后下载

Pillow 库,用于拼接头像

Pyinstaller 库,用来打包 Python 程序成 exe 文件

程序通过三个函数实现,第一个 creat_filepath 函数生成图片下载文件路径,第二个 save_avatar 函数循环获取微信好友头像然后保存到本地,第三个 joint_avatar 函数就是把头像拼接成一张大图。

完整代码如下:from wxpy import *

import math

from PIL import Image

import os

# 创建头像存放文件夹

def create_filePath():

avatar_dir = os.getcwd() + "\\wechat\\";

if not os.path.exists(avatar_dir):

os.mkdir(avatar_dir)

return avatar_dir

# 保存好友头像

def save_avatr(avatar_dir):

# 初始化机器人,扫码登录

bot = Bot()

friends = bot.friends(update=True)

num = 0

for friend in friends:

friend.get_avatar(avatar_dir + '\\' + str(num) + ".jpg")

print('好友昵称:%s' % friend.nick_name)

num = num + 1

# 拼接头像

def joint_avatar(path):

# 获取文件内头像个数

length = len(os.listdir(path))

# 设置画布大小

image_size = 2500

# 设置每个头像大小

each_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 = 0

y = 0

for(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 += 1

if(x == x_lines):

x = 0

y += 1

except IOError:

print("头像读取失败")

img = image.save(os.getcwd() + "/wechat.png")

print('微信好友头像拼接完成!')

if __name__ == '__main__':

avatar_dir = create_filePath()

save_avatr(avatar_dir)

joint_avatar(avatar_dir)

点击运行就可以直接运行

python爬虫好友图片_Python爬取所有微信好友头像,制作微信好友图片墙相关推荐

  1. python爬虫下载小说_python 爬取小说并下载的示例

    代码 import requests import time from tqdm import tqdm from bs4 import BeautifulSoup """ ...

  2. python爬虫天气数据_Python爬取真气网天气数据

    使用工具:pycharm,Chrome driver 使用库:selenium 前言: 我们无时无刻不在呼吸着周围的空气, 可身边的空气质量怎样呢? 嗯~~~ 大多数人会沉思一会儿, 最后还是会说:不 ...

  3. python爬虫企业数据_python爬取企业名录并入库

    #!/usr/bin/env python2#-*-coding:utf-8-*- '''@version: python2.7 @author: 'zyjsuper' @license: Apach ...

  4. python爬取图片教程-推荐|Python 爬虫系列教程一爬取批量百度图片

    Python 爬虫系列教程一爬取批量百度图片https://blog.csdn.net/qq_40774175/article/details/81273198# -*- coding: utf-8 ...

  5. 转 Python爬虫实战一之爬取糗事百科段子

    静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致 ...

  6. Python爬虫实战一之爬取糗事百科段子

    点我进入原文 另外, 中间遇到两个问题: 1. ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128) 解 ...

  7. python爬虫如何实现每天爬取微信公众号的推送文章

    python爬虫如何实现每天爬取微信公众号的推送文章 上上篇文章爬虫如何爬取微信公众号文章 上篇文章python爬虫如何爬取微信公众号文章(二) 上面的文章分别介绍了如何批量获取公众号的历史文章url ...

  8. Python爬虫【二】爬取PC网页版“微博辟谣”账号内容(selenium同步单线程)

    专题系列导引   爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集   课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...

  9. python爬虫实例之小说爬取器

    今天和大家分享一个爬取盗版小说的实例. 如今的网络小说可谓是百家齐放各领风骚,玄幻科幻穿越修仙都市- 各种套路看得我是心潮澎湃,笔者曾经也蛮喜欢看小说的,以前经常是拿着一台诺基亚看到深夜,第二天带着黑 ...

  10. python爬虫对炒股有没有用_使用python爬虫实现网络股票信息爬取的demo

    实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...

最新文章

  1. 数字图像处理的Matlab实现(1)—绪论
  2. C#学习笔记(八)——定义类的成员
  3. 对于半结构化数据的讲解,这可能是最通俗易懂的一篇文章了
  4. php如何传递字符串,如何将PHP字符串传递给Javascript函数调用?
  5. 利用Packer自定义镜像创建容器集群
  6. ebm风扇选型手册_EBM风扇选择方法
  7. Hyperledger fabric学习笔记(一)
  8. Silverlight的资源
  9. php 编译安装gd 失败,编译安装php5 解决编译安装的php加载不了gd
  10. tif数据84坐标经纬度转Unity3D坐标
  11. Rme Babyface Pro FS娃娃脸声卡安装调试教程
  12. 基于BERT做中文文本分类(情感分析)
  13. 根据已经commit的数据,进行leader和peon之间的同步
  14. Nginx是什么?怎么用?(新手入门版)教程
  15. 计算机中的二进制实验报告,大学计算机实验报告(共5篇).doc
  16. 中国各省份省会地图json数据
  17. 通过C++类方法地址调用类的虚方法
  18. 51单片机 ADC0809模数转换与显示+Proteus仿真
  19. 史上最全的Waymo自动驾驶出租车体验来了!
  20. vivo 手机开发者模式运行安装apk失败

热门文章

  1. 哪一句话,能燃起你的斗志
  2. hdu_1429 胜利大逃亡(续)
  3. 我讲了一个故事,珍爱红娘来电话靠谱吗?这个男生太渣了!
  4. 第十一课 for循环(3)---循环变量的变化
  5. python中文名是什么怎么读-python中文读音
  6. 计算机分子模拟的意义包括,计算机分子模拟
  7. 图片1920x1080分辨率怎么调 ?图片如何修改分辨率?
  8. 获取与设置checkbox选中状态
  9. 带着11名医生冲刺上市,清晰医疗能够对标希玛眼科吗?
  10. 2023年中职网络安全竞赛——数字取证调查(新版)attack解析(详细)