用Python制作一个颜值打分器,看看你女盆友们颜值多少分_颜值测评接口(1)

[开发环境]:

  • Python 3.8
  • Pycharm 2021.2
  • 会使用API接口 百度云接口

[模块使用]:

  • requests
  • tqdm
  • os
  • base64

模块安装问题:

  • 如果安装python第三方模块:
  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
  2. 在pycharm中点击Terminal(终端) 输入安装命令
  • 安装失败原因:
  • 失败一: pip 不是内部命令
    解决方法: 设置环境变量
  • 失败二: 出现大量报红 (read time out)
    解决方法: 因为是网络链接超时, 需要切换镜像源
    清华:https://pypi.tuna.tsinghua.edu.cn/simple
    阿里云:http://mirrors.aliyun.com/pypi/simple/
    中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
    华中理工大学:http://pypi.hustunique.com/
    山东理工大学:http://pypi.sdutlinux.org/
    豆瓣:http://pypi.douban.com/simple/
    例如:pip3 install -i https://pypi.doubanio.com/simple/ 模块名
  • 失败三: cmd里面显示已经安装过了, 或者安装成功了, 但是在pycharm里面还是无法导入
    解决方法: 可能安装了多个python版本 (anaconda 或者 python 安装一个即可) 卸载一个就好
    或者你pycharm里面python解释器没有设置好
实现步骤
一. 数据来源分析

女盆友们照片, 照片url地址 可以从哪里获取

通过网页上面开发者工具进行抓包分析

二. 代码实现步骤 发送请求 >>> 获取数据 >>> 解析数据 >>> 保存数据
  1. 发送请求, 对于 https://www.**牙.com/g/2168 发送请求 列表页面
  2. 获取数据, 获取服务器返回的响应数据 response
  3. 解析数据, 提取我们想要数据内容 主播名字 主播封面图url地址
  • json数据 可以直接处理
  • re正则表达式提取
  • 根据标签节点/属性提取内容:
  • xpath
  • css选择器
  1. 保存数据, 图片内容保存到本地文件夹
三.颜值检测

对于我们保存下来照片, 进行颜值检测评分

代码实现
# 导入数据请求
import requests  # pip install requests (导入模块没有使用是灰色)
# 导入格式化输出模块
import pprint
# 导入os文件操作模块
import os
import base64
from tqdm import tqdm

# 发送请求
# 确定请求的url地址
for page in range(1, 11):
    url = f'https://www.\*\*.com/cache.php?m=LiveList&do=getLiveListByPage&gameId=2168&tagAll=0&page={page}'
    # headers 请求头 伪装Python的代码 不被识别出来是爬虫程序...
    # headers 是一个字典数据类型
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
    }
    # 通过requests模块去对url地址发送请求
    response = requests.get(url=url, headers=headers)

    data_list = response.json()['data']['datas']
    for index in data_list:
        # pprint.pprint(index)
        name = index['nick']
        img_url = index['screenshot']
        # 4. 保存数据 保存图片数据内容, 也需要发送请求 获取数据
        # response.text 获取响应体文本数据
        # response.json() 获取响应体的json字典数据
        # response.content 获取响应体的二进制数据
        img_content = requests.get(url=img_url, headers=headers).content
        # 'img\\' 文件路径 name 文件名字 '.jpg' 文件后缀 >>> 文件名
        # mode 保存方式 wb 二进制模式写入
        # as 重命名 为 f
        filename = 'img\_1\\'
        if not os.path.exists(filename):
            os.mkdir(filename)

        with open(filename + name + '.jpg', mode='wb') as f:
            f.write(img_content) # 写入数据
            print('正在保存: ', name)


def get\_beauty(img_base64):
    host = 'https://aip.baidubce.com/oauth/2.0/token'
    data = {
        'grant\_type': 'client\_credentials',       
        'client\_secret': 'ouZMTMuCGLi7pbeg734ftNxn9h3qN7R4'
    }
    response = requests.get(url=host, params=data)
    token = response.json()['access\_token']
    # print(token)
    '''
 人脸检测与属性分析
 '''
    request_url = f"https://aip.baidubce.com/rest/2.0/face/v3/detect?access\_token={token}"
    params = {
        "image": img_base64, 
        "image\_type": "BASE64",
        "face\_field": "beauty"
    }
    headers = {'content-type': 'application/json'}


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值