用Python制作表白神器——爱心墙

【爱心上面可以加字】Python爱心代码,简单又好看 最近都快要被动态爱心刷屏了,今天跟大家带来不一样的爱心代码,可以在爱心中央写下你想要的字! 阅读详情

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


一、❤️爱心墙❤️

通过爬虫搜集到粉丝的头像,然后利用PIL库拼接出爱心墙的形状:

 

二、代码分析

1.头像爬取

在个人中心点击我的粉丝便可以看到自己的粉丝,通过抓包可知对应的接口为:

url = 'https://me.youkuaiyun.com/api/relation/index?pageno=1&pagesize=20&relation_type=fans' # 接口地址

那么,可以定义一个函数来获取粉丝的信息:

def get_fansInfo():
    '''
    获取粉丝相关信息
    '''
    url = 'https://me.youkuaiyun.com/api/relation/index?pageno=%d&pagesize=%d&relation_type=fans' # 接口地址
    cookies = {} # 用户登陆cookies
    headers = {  # 请求头
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',
        'Accept': 'application/json, text/plain, */*',
        'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
        'Referer': 'https://i.youkuaiyun.com/',
        'Origin': 'https://i.youkuaiyun.com',
        'Connection': 'keep-alive',
        'TE': 'Trailers',
    }
    # 获取粉丝总数
    res = requests.get(url%(1,10),headers=headers,cookies=cookies)
    res_json = res.json()
    N_fans = res_json['data']['data_all']
    print('一共有%d个粉丝'%N_fans)
    # 获取全部粉丝数据
    res = requests.get(url%(1,N_fans),headers=headers,cookies=cookies)
    res_json = res.json()
    return res_json

在返回的数据中,包括一个avatar字段,这个就是用户的头像地址,拿到头像地址之后便可以定义个函数来下载相应的头像:

def download_avatar(username,url):
    '''
    下载用户头像
    '''
    savePath = './avatars' # 头像存储目录
    res = requests.get(url)
    with open('%s/%s.jpg'%(savePath,username),'wb') as f:
        f.write(res.content)

定义主函数,运行代码:

if __name__ == '__main__':
    fans = get_fansInfo()
    for f in fans['data']['list']:
        username = f['fans'] # 用户名
        url = f['avatar']    # 头像地址
        download_avatar(username,url)
        print('用户"%s"头像下载完成!'%username)

最后我成功将所有头像下载到本地文件夹中:

 

2.头像去重

聪明的你应该已经发现,在爬取到的头像中有两个头像重复出现(想必这应该是官方默认头像):

 

 

于是乎,为了更好地展示,我们得对头像进行去重。这里我们利用每个头像的MD5值来进行去重,首先定义函数来计算头像的MD5值:

def get_md5(filename):
    '''
    获取文件的md5值cls
    '''
    m = hashlib.md5()
    with open(filename,'rb') as f:
        for line in f:
            m.update(line)
    md5 = m.hexdigest()
    return md5

说明:每个文件通过MD5计算出摘要,理论来说只有文件完全一致MD5值才会相同。因此,可以利用它来进行图像的去重。
对头像进行去重,并把去重后的头像保存到另外的目录中:

# 照片去重
md5_already = [] # 用于存储已经记录过的图片,便于去重
for filename in os.listdir('./avatars'):
    md5 = get_md5('./avatars/'+filename)  
    if md5 not in md5_already:
        md5_already.append(md5)
        shutil.copyfile('./avatars/'+filename,'./avatars(dr)/'+filename)

3.绘制爱心墙

这一步,主要是利用python中的PIL库来把头像按照设定的框架拼接成一个更大的图片。首先导入相关库:

import os
import random
import numpy as np
import PIL.Image as Image

定义绘制图形的框架(用二维数组表示):

FRAME = [[0,1,1,0,0,0,0,1,1,0],
         [1,1,1,1,0,0,1,1,1,1],
         [1,1,1,1,1,1,1,1,1,1],
         [1,1,1,1,1,1,1,1,1,1],
         [0,1,1,1,1,1,1,1,1,0],
         [0,0,1,1,1,1,1,1,0,0],
         [0,0,0,1,1,1,1,0,0,0],
         [0,0,0,0,1,1,0,0,0,0]]

这里大家完全可以发挥自己的想象,画你心中所想

其中,0表示不进行填充,1表示用头像进行填充。

定义相关参数,包括每张用于填充的头像的大小、每个点位填充的次数等:

# 定义相关参数
SIZE = 50 # 每张图片的尺寸为50*50
N = 2     # 每个点位上放置2*2张图片

# 计算相关参数
width = np.shape(FRAME)[1]*N*SIZE  # 照片墙宽度
height = np.shape(FRAME)[0]*N*SIZE # 照片墙高度
n_img = np.sum(FRAME)*(N**2)       # 照片墙需要的照片数
filenames = random.sample(os.listdir('./avatars(dr)'),n_img) # 随机选取n_img张照片
filenames = ['./avatars(dr)/'+f for f in filenames]

遍历FRAME,用头像对背景图片进行填充:

# 绘制爱心墙
img_bg = Image.new('RGB',(width,height)) # 设置照片墙背景
i = 0
for y in range(np.shape(FRAME)[0]):
    for x in range(np.shape(FRAME)[1]):
         if FRAME[y][x] == 1: # 如果需要填充
             pos_x = x*N*SIZE # 填充起始X坐标位置
             pos_y = y*N*SIZE # 填充起始Y坐标位置
             for yy in range(N):
                 for xx in range(N):
                     img = Image.open(filenames[i])
                     img = img.resize((SIZE,SIZE),Image.ANTIALIAS)
                     img_bg.paste(img,(pos_x+xx*SIZE,pos_y+yy*SIZE))
                     i += 1
                
# 保存图片
img_bg.save('love.jpg')
python实现 跳动爱心代码 ,表白神器又+1+1+1...... 关于表白神器什么的,我是豪不吝啬给的,别说小熊猫我没发嗷~ 阅读详情

相关推荐

《python粒子爱心表白神器》

通过简单的 Python 代码和一些数学技巧,我们实现了一个动态立体的爱心动画。这不仅可以用作学习粒子动画的示例,还能用于节日贺卡或创意展示。如果你对粒子动画有更多想法,欢迎在评论区讨论!《Python无限弹窗小程序:给你一个流氓表白小妙招!《教你用Python写出浪漫的表白代码》《Python浪漫的烟花表白特效》《Python制作动态爱心粒子特效》《如何用Python实现丝滑粒子爱心特效,惊艳朋友圈!30 个必看的 Python 项目:初学者到进阶的最佳选择!Python 小白必备!

weixin_43178103的博客 1782

前方高能!看小伙是怎么表白粉丝的

前方高能!看小伙是怎么表白粉丝的前言一、❤️爱心墙❤️二、代码分析1.头像爬取2.头像去重3.绘制爱心墙写在最后 前言 自从开始写博客以来得到了许多小伙伴的支持和鼓励,关注人数也有所增加。为了搞清楚是哪些可爱的人儿在关注我,也是为了感谢大家的厚爱,同时更是为了激励自己,kimol君决定用粉丝的头像绘制一幅爱心墙。 没有错!今天kimol君将要❤️实名表白他的粉丝们❤️~ 当然感兴趣的小伙伴完全可以把代码用来表白自己的女盆友呀???? 一、❤️爱心墙❤️ 通过爬虫搜集到粉丝的头像,然后利用PIL库拼接出爱心墙

kimol君的博客 2万+

利用 Python 写个七夕表白神器

今天是七夕节,相比于现代人自创的 502,不对是 520,七夕才是中国传统意义上的情人节,本文分享几个 Python 表白程序,情侣可以现学现用,单身的话也可以先收藏一下,说不定下次就用上了。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:101677771 爱心树 首先,..

Python学习Q群696455390 1314

实战|用 Python 轻松制作好看的心型照片墙

人生苦短,我用Python!今天分享如何用Python制作好看的心型照片墙。

xxue345678的博客 1365

情人节特辑:用Python打造交互式爱心表白神器

2025年的情人节,当满街玫瑰与霓虹灯交织成浪漫图景时,程序员们正用代码编织着更独特的告白方式。从青岛方特星河热恋烟花秀的震撼视觉,到GitHub上爆火的交互式爱心生成器,科技与情感的碰撞正催生出新一代的浪漫仪式。本文将揭秘如何用Python打造一款集动态特效、参数调节与情感交互于一体的表白神器,让代码成为传递心意的终极载体。

1232

python之表白神器--组图拼爱心墙

【效果预览】 用小于90张的照片可以拼出爱心强图片 代码实现:

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 983

Python 拼图成心【大小,图数可调节】

在学习PIL库Image用法的时候,瞅见了个函数,Image.paste(),突然有个点子,来拼一个小心心怎么样?说干就干! Image.paste(image, box) Image 一个图像对象,img=Image.open(img_path) box 这里就是粘贴时图像img的左上角‘坐标’ 那么就需要一系列的坐标,然后逐个给粘贴上去,最终才能出来。 思...

薛定谔的壳的博客 1467

Python绘图基础:爱心图案编程实战

函数是组织好的,可重复使用的代码块,用于执行单一或相关联的任务。在 Python 中,函数通过def关键字定义,后面跟着函数名和括号,括号内可以包含一些参数。函数通过return语句返回结果。# 定义一个函数来计算两数之和# 使用函数print(sum) # 输出:12函数定义还可以包含可选参数,以及不定数量的参数,通过在参数前加上和**来实现。函数也可以接受列表和字典作为参数,并且可以将它们解包,这在处理可变数量的参数时非常有用。# 示例:带有可选参数和不定数量参数的函数。

weixin_35509395的博客 887

python表白神器

上一期云舔狗的效果好像反响不错,大家纷纷拜托双手的束缚python云舔狗自动给微信好友发送早安晚安和播报天气预报,然后纷纷获得朋友的芳心,就此一行君建议大家应该乘胜追击,吹响最后的号角,这里也用python来给大家提供助攻 绘制爱心图 做一道选择题 转成exe 1.python绘制爱心 含蓄的表白就是让对方心领神会,一张爱心图不言而喻,这里python可以用一行代码就能画出这种这样的爱心图 p...

一行玩python 8335

表白小程序:python代码–樱花树(Turtle库)

美美的樱花树一.绘制一个画幕二.绘制落花三.绘制树枝花瓣四.绘制多棵树完整代码学习笔记 今天呢,去尝试理解一个简单的画樱花的python代码。 以下是参考他人博客,这里只是借用来学习。 一.绘制一个画幕 def get_screen(width, height, color, speed): # 创建画幕 screen_obj = turtle.Screen() # 画布大小:(width, height),颜色:color screen_obj.screensize(width, height, bg=color) screen_obj.setup(1

手把手教你设计2bit反射型超表面:从单patch扫参到pin管配置全流程

本文提供了一份2bit反射型超表面设计的完整工程实践指南。从单贴片谐振器的参数化扫描与“270度法则”应用,到PIN二极管等效电路模型的获取与集成,再到利用参数化扫描高效仿真四种工作状态,手把手指导读者完成从单元设计到阵列布局、偏置线集成及加工考量的全流程,旨在帮助射频工程师将概念转化为可加工测试的实体模型。

java5的博客 1022

表白神器:Python绘制爱心墙的探索与思考

因此,在使用Python绘制爱心墙这种表白神器时,我们应该注重其背后的情感和意义,而不仅仅是追求表面的华丽和炫酷。在绘制爱心墙时,我们可以使用这些图形库来绘制小爱心,并通过循环和条件语句来控制小爱心的位置、大小和颜色等属性。Python绘制爱心墙作为一种表白神器,不仅展现出了编程技术的强大功能和灵活性,也展现出了科技与浪漫的结合。这种方式的魅力在于,它不仅能够传达出深深的爱意,还能够展现出制作者的用心和创意。然后,我们可以使用循环来重复绘制多个这样的小爱心,并调整它们的位置和大小来形成一个完整的爱心墙。

2401_85969209的博客 450

SAP ABAP实战:如何用CVI_EI_INBOUND_MAIN批量更新BP邮箱(附完整代码)

本文深入解析了SAP ABAP中CVI_EI_INBOUND_MAIN函数在业务伙伴(BP)邮箱地址批量维护场景下的应用。通过详细讲解数据结构构建、关键参数(如任务参数'5')配置及完整代码示例,为开发者提供了一套高效、稳定的批量更新解决方案,并分享了性能优化与错误处理的最佳实践。

weixin_29228781的博客 77

如何用python画爱心表白图_表白神器如何使用 Python 绘制爱心墙

一、爱心墙通过爬虫搜集到粉丝的头像,然后利用 PIL 库拼接出爱心墙的形状二、代码分析1.头像爬取在个人中心点击我的粉丝便可以看到自己的粉丝通过抓包可知对应的接口为:url='https://me.youkuaiyun.com/api/relation/index?pageno=1&pagesize=20&relation_type=fans'#接口地址那么,可以定义一个函数来获取粉丝...

weixin_33514140的博客 1664

TPAMI 2025新作LRFormer复现笔记:我的Windows 11 + RTX 4090配置全流程

本文详细记录了在Windows 11系统下使用RTX 4090显卡复现TPAMI 2025顶会论文LRTransformer的完整流程,包括硬件配置、系统优化、Python环境搭建及模型训练中的常见问题解决方案。特别针对Windows平台特有的路径管理、CUDA版本冲突和显存优化等关键技术细节提供了实用指南,帮助开发者高效完成环境搭建和模型训练。

weixin_29094301的博客 412

C51单片机驱动ILI9341彩屏实战:从Proteus仿真到绘制自定义图案(附完整代码)

本文详细介绍了使用C51单片机驱动ILI9341彩屏的完整实战流程。内容涵盖硬件连接、8080并行接口时序模拟、寄存器初始化、屏幕方向设置以及基本图形绘制原理,并重点讲解了如何在Proteus仿真环境中搭建电路、调试代码,最终实现自定义图案的显示。文章提供了完整的代码示例,为嵌入式开发学习者和复古硬件爱好者提供了一套可行的解决方案。

rnn9storyteller的博客 511

python表白代码大全简单-python表白代码

广告关闭腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元!作者 | 马超编辑 | jane来源 | csdn博客【导语】转眼又到了咱们中国传统的情人节七夕了,今天笔者就带大家来领略一下用 python 表白的方式。 让程序员的恋人们感受一下 it 人的浪漫。 一、词云制作首先咱们可以用之前介绍过的 wordcould 包制作词云。 wordc...

weixin_37988176的博客 2万+

STM32 Modbus-RTU从零到实战:手把手教你用HAL库实现工业通信(附完整代码)

本文详细介绍了如何使用STM32 HAL库从零开始实现Modbus-RTU从机通信。内容涵盖RS485硬件设计、CubeMX串口与定时器配置、基于空闲中断的高效数据接收、协议栈状态机设计、CRC16校验实现以及常用功能码处理。文章提供了完整的代码框架和调试方法,帮助开发者快速构建稳定的工业通信节点。

weixin_28278377的博客 188

30秒教会你用Python制作520表白神器

就是520了,不知道各位有没有都由单身dog进化为秀恩爱dog。在我大三的时候,就有一个计算机的朋友用自己做的代码感动了一个数学系的女生。就是下面这种。(这个爱心是有运行结果的!...

qqqqqkmbnjjhb的专栏 4764

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 123

Python爬虫实战:爬取国家气象局台风路径数据的完整教程

国家气象局(如中国气象局)一般会在官方网站公布台风的实时路径,包括台风编号、名称、时间点、经纬度、中心气压、最大风速等信息。这些数据以图形和表格的形式呈现,有时以JSON或CSV文件形式下载。爬取这类数据,有助于构建台风数据库、历史路径分析、趋势预测等应用。本文详细介绍了如何通过Python爬取国家气象局发布的台风路径数据,涵盖了数据采集、解析、存储和可视化全流程。通过实践,你可以构建自己的台风数据库,结合机器学习开展路径预测和风险评估等高级分析。后续可结合深度学习技术,实现台风轨迹预测;

2201_76125261的博客 1025

cmd代码表白_python表白神器你值得拥有

上一期云舔狗的效果好像反响不错,大家纷纷摆脱双手的束缚python云舔狗自动给微信好友发送早安晚安和播报天气预报,然后纷纷获得她(们)的芳心,就此一行君建议大家应该乘胜追击,吹响最后的号角,这里也用python来给大家提供最后助攻绘制爱心图王者大闯关直接食用1.python绘制爱心含蓄的表白就是让对方心领神会,一张爱心图不言而喻,这里python可以用一行代码就能画出这种这样的爱心图'\...

weixin_39605706的博客 6725

编写一个期货跨期套利的程序,谈谈思路及案例

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1719

html5酷炫表白代码_七夕表白没创意?30秒教你用Python制作表白神器

明天就是七夕了,不知道各位单身人士,有没有都从单身dog进化为秀恩爱dog。在我大三的时候,就有一个计算机的朋友用自己做的代码感动了一个数学系的女生。就是下面这种。(这个爱心是有运行结果的!)也不知道为什么妹子放弃了全班30多位帅哥(没错,他们班就她一个女生),而选择了头发日渐稀疏已经“六月怀胎”的我朋友。今天,我就来教大家一下,如何用Python做一份特别的礼物送给自己的恋人。当然了,...

weixin_39529128的博客 2054

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Python 代码绘爱心,浪漫表白新姿势

在本次 Python 爱心代码的探索之旅中,我们领略了 Python 语言的强大魅力,从简单的静态爱心绘制,到充满创意的动态与交互效果实现,再到将爱心代码应用于实际生活场景,每一步都充满了乐趣和挑战。通过turtle库和matplotlib库,我们掌握了多种绘制爱心的方法,还学会了如何为爱心添加动态效果和交互功能,让爱心变得更加生动有趣。希望大家能从这些代码示例中获得灵感,将 Python 爱心代码运用到更多的场景中,传递爱与温暖。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2219

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

python表白-python3实现表白神器

本文实例为大家分享了使用python3制作的表白神器,供大家参考,具体内容如下使用python3制作的小玩意,哪里需要改造的,望各位评论一下!#coding=utf-8#第一个小项目/love 0.0.4#该程序目的是为了表白而诞生的#程序原创者:文import timeimport turtlei = 0q = 2name = ['某某','某某某','1'] #填写她名字lovename = ...

weixin_37988176的博客 1448

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 如何利用Python自动根据数据生成降雨量统计分析报告
下一篇: Python爬虫基础入门看完这一篇就学会了
酸菜鱼编程
博客等级 码龄6年 155粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值