IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 闲得无聊,用python给女主播做一个颜值排名... -> 正文阅读

[Python知识库]闲得无聊,用python给女主播做一个颜值排名...

一、闲言碎语

众所周知,能去直播的女主播一般都还可以,但是两三个还能肉眼分辨看看谁好看,几百个可就看不过来了吧。

那这时候python的用处就来了,对她们的照片进行自动分析打分,给她们做一个排行榜,哪个好看一目了然~

在这里插入图片描述

二、获取照片

既然要做排名打分,那么就得先准备图片,第一步先获取女主播图片。

1、分析目标网页

确定爬取的url路径,headers参数。

base_url = 'https://www.***.com/g/4079'
# 把**改成某动物直播的拼音
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}

**2、发送请求 **
requests 模拟浏览器发送请求,获取响应数据。

response = requests.get(url=base_url, headers=headers)
html_data = response.text

**3、解析数据 **

parsel 转化为Selector对象,Selector对象具有xpath的方法,能够对转化的数据进行处理。

parse = parsel.Selector(html_data)
data_list = parse.xpath('//li[@class="game-live-item"]')
# print(data_list)

for data in data_list:
    img_url = data.xpath('./a/img/@data-original').get()  # 主播人脸图片的url地址
    img_title = data.xpath('.//span/i/@title').get()  # 主播的名字
    print(img_url, img_title)

4、保存数据

# 请求图片数据
img_data = requests.get(url=img_url, headers=headers).content

# 准备文件名
file_name = img_title + '.jpg'
with open('img\\' + file_name, mode='wb') as f:
    print('正在保存:', file_name)
    f.write(img_data)

在这里插入图片描述

三、颜值检测

调用人脸接口,进行颜值检测,没有的话大家自己弄一下,我就不提供了。
在这里插入图片描述

如果文章看不过瘾,我给大家准备了对应的视频讲解,拉到最上面左侧就有。

def face_rg(file_Path):
    """ 你的 api_id AK SK """
    api_id = '19895116'
    api_key = 'aR6Oytn7ycDyhjBqPYCAGgqh'
    secret_key = 'dXjz8QELSaj238GuEr0I3xnarEurWhit'

    client = AipFace(api_id, api_key, secret_key)  # 调用颜值检测的接口(实例化对象)

    with open(file_Path, 'rb') as file:
         data = base64.b64encode(file.read())  # 图片类型 BASE64:图片的base64值,base64编码后的图片数据

    image = data.decode()

    imageType = "BASE64"
    options = {}
    options["face_field"] = 'beauty'

    """ 调用人脸检测 """
    result = client.detect(image, imageType, options)
    # print(result)
    return result['result']['face_list'][0]['beauty']


if __name__ == '__main__':
    face_rg(r'C:\Users\admin\Desktop\练习\主播颜值检测\img\9c-专属男友.jpg')

四、颜值打分

万事具备只欠东风,打分的东风。

import os

from 主播颜值检测.颜值检测_接口 import face_rg


path = './img'
image_list = os.listdir(path)
# print(image_list)

score_dict = {}

for image in image_list:
    try:
        name = image.split('.')[0]
        # print(name)
        image_path = path + '\\' + image  # 图片的路径
        face_score = face_rg(image_path)
        # print(face_score)
        score_dict[name] = face_score
        # print(score_dict)
    except Exception as e:
        print('正在检测:{}|检测失败!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'.format(str(name)))
    else:
        print('正在检测:{}|颜值打分为:{}'.format(str(name), str(face_score)))

print('\n===========================================检测完成===========================================')

print(score_dict.items())

# 字典根据值降序排列
change_score = sorted(score_dict.items(), key=lambda x: x[1], reverse=True)  # lambda中的1是元组的索引  x表示参数  x[1]表示返回值
print(change_score)

# 数据输出
# enumerate枚举  enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
print(list(enumerate(change_score)))
for a, b in enumerate(change_score):
    print('小姐姐的名字是:{}丨颜值名次是:第{}名丨她的颜值分数为:{}'.format(change_score[a][0], a+1, change_score[a][1]))

颜值打分
在这里插入图片描述
颜值排行
在这里插入图片描述
哎,到这里就成功了,兄弟们可以去试试。

记得点赞三连哇,爱你哟~

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:51:09  更:2022-01-01 13:52:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:21:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码