前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你喜欢的女主播颜值多少分,今天带你测试虎牙直播女主播的颜值

你喜欢的女主播颜值多少分,今天带你测试虎牙直播女主播的颜值

作者头像
松鼠爱吃饼干
发布2020-09-15 15:44:14
5420
发布2020-09-15 15:44:14
举报
文章被收录于专栏:Python分享Python分享

前言

随着现在直播的兴起,主播这个职业逐渐走入人们的视野。现在各大平台都有当家花旦、一哥、一姐等称号。其实人气是一方面,但是颜值才是硬实力。

接下来带大家进行主播的颜值检测评分,看看谁是最靓的崽(*^▽^*)

本篇大致内容:

1、爬取主播的直播人脸图

2、调用百度人脸检测开放接口,进行颜值打分

环境介绍:

python 3.6

pycharm

requests

parsel(xapth)

1、爬取主播的图片

1.1 导入模块

代码语言:javascript
复制
import requests
import parsel

1.2 分析目标网页,确定爬取的url路径,headers参数

代码如下:

代码语言:javascript
复制
base_url = 'https://www.huya.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'}

1.3 发送请求 -- requests 模拟浏览器发送请求,获取响应数据

代码如下:

代码语言:javascript
复制
response = requests.get(url=base_url, headers=headers)
html_data = response.text

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

代码如下:

代码语言:javascript
复制
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)

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

1.5 保存数据

代码如下:

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

2、调用百度人脸检测开放接口

在百度AI开放平台注册账号

点击进入人脸识别

创建一个应用

创建完成以后进入管理应用,打开应用,点击下载SDK

不要下载,点击使用说明

安装SDK

代码语言:javascript
复制
pip install baidu-aip

根据百度接口示例来写代码

代码如下:

代码语言:javascript
复制
from aip import AipFace
import base64


def face_rg(file_Path):
    """ 你的 api_id AK SK """
    api_id = '20107883'
    api_key = 'Xela0yPoFtERUBSTFtNlEKbO'
    secret_key = 'E5TmneyfAzxfzowgwRErLT8RYe7MfkfG'

    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'..\主播颜值检测\img\蓝云-夏花依旧.jpg')

3、检测打分

3.1 导入模块,做循环检测的接口

代码如下:

代码语言:javascript
复制
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是元组的索引
print(change_score)

3.2 数据输出

代码语言:javascript
复制
for a, b in enumerate(change_score):
    print('小姐姐的名字是:{}丨颜值名次是:第{}名丨她的颜值分数为:{}'.format(change_score[a][0], a+1, change_score[a][1]))

运行代码后得出最后的颜值打分检测结果

如果喜欢的话请关注我哟

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 松鼠爱吃饼干 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1、爬取主播的图片
  • 2、调用百度人脸检测开放接口
  • 3、检测打分
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档