女朋友总是问我谁好看,只好用python整个评分来回答灵魂拷问!出事就让百度背锅吧!
本帖最后由 创造太阳 于 2020-12-3 22:27 编辑我给女朋友发了20000句情话,她暂时不想听情话了!(详见:女朋友抱怨不会说情话,用python给她发了20000句!让她见识见识情话大全!https://www.52pojie.cn/thread-1113388-1-1.html(出处: 吾爱破解论坛))
女朋友最近不找我下五子棋了!(详见:女朋友下棋比我厉害,还特别嚣张,不能忍。拿python敲个辅助,看她如何嚣张!https://www.52pojie.cn/thread-1116867-1-1.html(出处: 吾爱破解论坛))
不过也没怼我,上次的表情包好像白存了,不过还是留着吧,万一派上用场了呢?(详见:为了防止女朋友怼我,我就先用python爬了3600个怼人表情包等她来战!https://www.52pojie.cn/thread-1118801-1-1.html(出处: 吾爱破解论坛))
也不知道你们找到女朋友了没有,找到的话,一起来交流研究!(详见:别再酸了,女朋友是不可能发,但是可以用python帮你创造机会搞到一个!搞到来告诉我!https://www.52pojie.cn/thread-1119202-1-1.html(出处: 吾爱破解论坛))
女朋友存了好多网上的男明星的照片,我准备用python全部换成我的脸!https://www.52pojie.cn/thread-1120431-1-1.html(出处: 吾爱破解论坛)
为了知道女朋友的小秘密,我用python爬了榜姐微博下60000个女生小秘密!https://www.52pojie.cn/thread-1123043-1-1.html(出处: 吾爱破解论坛)
女朋友每晚都给我发诱惑图,我用python搞了更多诱惑图反击她!https://www.52pojie.cn/thread-1128807-1-1.html(出处: 吾爱破解论坛)
女朋友要和我拼手速,不得不用python让她见识我的手速!年轻人,不要试图和你不知...https://www.52pojie.cn/thread-1139015-1-1.html(出处: 吾爱破解论坛)
为了看看女朋友生日那天是什么样子,我用python爬了一年的照片!https://www.52pojie.cn/thread-1144764-1-1.html(出处: 吾爱破解论坛)
女朋友说A罩杯最流行,我用python爬了几十万的购买数据来证明她是在狡辩!https://www.52pojie.cn/thread-1145712-1-1.html(出处: 吾爱破解论坛)
女朋友说因为异性相吸,所以容易产生真爱!我觉得得用python验证一下!https://www.52pojie.cn/thread-1151862-1-1.html(出处: 吾爱破解论坛)
周扬青和罗志祥分手,女朋友说要去周扬青吧看看有没有经验贴,我只好用python快速...https://www.52pojie.cn/thread-1163712-1-1.html(出处: 吾爱破解论坛)
女朋友比较喜欢民宿风格,我就用python爬了一个短租民宿网站,做个合格的男朋友!https://www.52pojie.cn/thread-1171476-1-1.html(出处: 吾爱破解论坛)
为了提高女朋友的计算速度,我用python帮她做了一个出题器,提升一下她的智力水平!https://www.52pojie.cn/thread-1187174-1-1.html(出处: 吾爱破解论坛)
不要998,不要668,不要188,只要10行代码!手把手带你给女朋友写本《吃不胖经》!https://www.52pojie.cn/thread-1235152-1-1.html(出处: 吾爱破解论坛)
女朋友急的叫“爸爸”了,我只好用python帮女朋友迅速完成问卷搜集任务,一小时轻松完成五百份!.https://www.52pojie.cn/thread-1252330-1-1.html(出处: 吾爱破解论坛)
七夕前用python给女朋友抢了萝卜丁,结果她好像并不是很开心!强烈鄙视乱起名的商...https://www.52pojie.cn/thread-1256443-1-1.html(出处: 吾爱破解论坛)
为了找到女朋友当年写的让人读起来会脸红的小说,只好用python把飞卢文学近60000本...https://www.52pojie.cn/thread-1259368-1-1.html(出处: 吾爱破解论坛)
女朋友天天要我来算时间,只好用python整个小玩意让她自己玩吧!https://www.52pojie.cn/thread-1289178-1-1.html(出处: 吾爱破解论坛)
为了让女朋友赶快成为办公室里的老司机,我只好趁着中午吃饭的时候用python研究了...https://www.52pojie.cn/thread-1292125-1-1.html(出处: 吾爱破解论坛)
为了女朋友的安全,用python给她做了个小监控,专门监控老板https://www.52pojie.cn/thread-1293777-1-1.html(出处: 吾爱破解论坛)
打工人苦,有女朋友的打工人更苦!要替女朋友做几百个工作证!没有python真的不行!https://www.52pojie.cn/thread-1309176-1-1.html(出处: 吾爱破解论坛)
不知道其他人会不会遇到这样的问题,就是女朋友总是喜欢问她和哪个明星什么的比起来谁好看,这样的问题真的是让人难以回答!
直接说她漂亮的话,她觉得你是在敷衍,说她不漂亮吧,自己就是在作死了!实在是让人头疼!
刚好发现百度AI新出了一个颜值评分,就用这个来帮我解决这个问题。
对我这样的脸盲来讲呢,那些明星什么的长得基本上都差别不大,好多还都对不上号,女朋友说一个明星的名字,我还得百度一下才行。
所以就用python来搞一个评分,通过输入明星的名字来爬取图片,获得30张图片,然后调用百度AI接口来实现依次评分后统计平均值,然后再对女朋友的颜值进行评分,最后输出对比分数。
有理有据,依靠大数据进行评分,就算将来要背锅,也是百度背!
代码如下:
需要登录百度AI进行申请相应的AK和SK
import base64
import os
import requests
import re
import random
def listdir(path, path_name):# 定义传入存储文件的list函数
for file in os.listdir(path): #依次获得返回指定的文件夹包含的文件或文件夹的名字的列表
file_path = os.path.join(path, file) #将多个路径组合后返回
if os.path.isdir(file_path): #返回一个列表,其中包含有指定路径下的目录和文件的名称
listdir(file_path, path_name)
else:
path_name.append(file_path) #加入到路径列表中
def assess(img):
import base64
img = open(path, 'rb')# 打开图片
pic = base64.b64encode(img.read())# 转换为base64值
img.close()# 关闭图片
base64 = str(pic, 'utf-8')# 将base64转换为字符串
print(base64)# 打印
"""访问人脸检测api"""
request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"# 百度人脸检测api
params = {"image": base64, "image_type": "BASE64",
"face_field": "faceshape,facetype,beauty,"}# 将base64的值传递到字典params中
header = {'Content-Type': 'application/json'}# 请求头
request_url = request_url + "?access_token=" + access_token# 请求网址 + access_token值
response = requests.post(url=request_url, data=params, headers=header)# 用requests库中的post函数访问获得信息
img_json = response.json()# 将获得的信息转换为json
print(img_json)# 打印
"""获得人脸评分"""
score = img_json["result"]["face_list"]['beauty'] #获得评分
print(score)
return score
"""获得明星图片"""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'} #设置请求头
star = input("请输入明星名字后按回车键!") #明星的名字
star_url = "https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1606734082047_R&pv=&ic=0&nc=1&z=&hd=&latest=©right=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&sid=&word=" + star #拼接网址
try: #尝试
response = requests.get(star_url,headers=headers) #获取到搜索的返回数据
#print(response.text) #打印
pic_url_list = re.findall('"thumbURL":"(.*?)"',response.text,re.S) # 用正则表达式从返回数据中获取到图片的地址
except Exception as e: #如果失败就报错
print("获取图片地址失败:%s"%e)
if len(pic_url_list) ==0: #如果responselist中的数量为0
print('获取图片失败') #打印 获取图片失败
else:
print(pic_url_list) #打印网址
for pic_url,i in zip(pic_url_list,range(len(pic_url_list) + 1)): #依次循环遍历图片网址和生成数字
response = requests.get(pic_url, headers=headers) #访问图片网址
dir_name = star #文件夹名字为明星名字
if not os.path.exists(dir_name):# 判断文件夹是否存在,如果不存在:
os.mkdir(dir_name)# 创建一个文件夹
with open(dir_name + '/' +star + str(i) + ".jpg","wb") as f: #打开文件
f.write(response.content) #将二进制信息写入到文件
path_name = []
path = star# 文件夹路径
all_path = []
listdir(path,path_name)
for path in path_name: #依次遍历
print(path) #文件路径
all_path.append(path) #添加到列表
print(all_path)
"""获得access_token值"""
AK = '百度的AK值' #百度AI中自己创建的应用的
SK = '百度的SK值' #百度AI中自己创建的应用的
host_url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + AK + '&client_secret=' + SK #访问百度给出的网址来获得自己的access_token值
response = requests.get(host_url) #用requests中的get函数访问
if response: #如果响应
print(response.json()) #打印内容,内容为json
print(type(response.json())) #查看数据类型
access_token = response.json()['access_token'] #获得‘access_token’的值
print(access_token) #打印
"""明星颜值平均评分"""
all_score = 0 #总分为0
count = 0 #计数为0
for path in all_path: #依次遍历明星的所有照片
try:
score = assess(path) #评分
all_score += score #将本次评分加入到总分中
count += 1 #次数+1
except Exception as e:
print(e)
average = all_score/count #平均分=总分÷次数
# print(star + "的平均颜值评分为") #打印评分为
# print (average,'分/100分') #评分
"""女朋友颜值评分"""
my_love = "全世界最最最可爱的人.jpg" #女朋友的照片
my_love_score = assess(my_love) #女朋友的颜值评分
add = random.uniform((80-average),(100-average))#设置一个随机数
if my_love_score < average: #如果女朋友颜值分数小于明星颜值分数
print(star + "的平均颜值评分为")# 打印评分为
print(average, '分/100分')# 评分
print("你的颜值评分为")# 打印
print(average + add, '分/100分')
elif my_love_score > average: #如果女朋友颜值分数大于明星颜值平均分
print(star + "没有你漂亮!") #明星没你漂亮
print(star + "的平均颜值评分为")# 打印评分为
print(average, '分/100分')# 评分
print("你的颜值评分为")# 打印
print(my_love_score, '分/100分')
else: #否则
print(star + "的平均颜值评分为")# 打印评分为
print(average, '分/100分')# 评分
print("你的颜值评分为")# 打印
print(my_love_score, '分/100分')
print("你们一样漂亮!") #一样漂亮
"""作死请使用以下代码"""
"""
if my_love_score < average: #如果女朋友颜值分数小于明星颜值分数
print(star + "比你漂亮!") #明星漂亮
elif my_love_score > average: #如果女朋友颜值分数大于明星颜值平均分
print(star + "没有你漂亮!") #明星没你漂亮
else: #否则
print("你们一样漂亮!") #一样漂亮
"""
女朋友什么时候让我们看看嘛,我觉得,你女朋友比代码好看 本帖最后由 公子如玉世无双 于 2020-12-2 00:17 编辑
Traceback (most recent call last):
File "C:/Users/Administrator/新建文件夹/test111.py", line 106, in <module>
add = random.randrange(((80 - average)), (100 - average))# 设置一个随机数
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\random.py", line 186, in randrange
raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()
楼主这是怎么一回事 前排支持大佬! 百度接口要自己申请吗? 公子如玉世无双 发表于 2020-11-30 21:04
百度接口要自己申请吗?
自己直接申请就可以用了
https://ai.baidu.com/tech/face/detect 创造太阳 发表于 2020-11-30 21:05
自己直接申请就可以用了
https://ai.baidu.com/tech/face/detect
明白了,谢谢 说到女朋友,他啪的一下就站起来了,很快嗷!我说停停····················· 大佬又来啦 代码不重要 我是来听楼主讲故事的 日常秀女朋友