python爬虫看看虎牙女主播中谁最“顶”步骤详解


Posted in Python onDecember 01, 2020

网页链接:https://www.huya.com/g/4079
这里的主要步骤其实还是和我们之前分析的一样,如下图所示:

python爬虫看看虎牙女主播中谁最“顶”步骤详解

这里再简单带大家看一下就行,重点是我们的第二部分。

python爬虫看看虎牙女主播中谁最“顶”步骤详解

既然网页结构我们已经分析完了,那么我还是选择用之前的xpath来爬取我们所需要的资源。

# 获取所有的主播信息
def getDatas(html):
  datalist=[]
  parse=parsel.Selector(html)
  lis=parse.xpath('//li[@class="game-live-item"]').getall()
  # print(lis)
  for li in lis:
    data = []
    parse1=parsel.Selector(li)
    img_src=parse1.xpath('//img[@class="pic"]/@data-original').get("data")
    data.append(img_src)
    title=parse1.xpath('//i[@class="nick"]/@title').get("data")
    data.append(title)
    redu=parse1.xpath('//i[@class="js-num"]/text()').get("data")
    data.append(redu)
    datalist.append(data)
  return datalist

这样我们就能获取到我们所需要的所有资源,之后将图片保存下来即可。这其中有两种文件的下载方式,一种是通过 with open打开文件的方式 ,另外一种就是通过 urllib.request.urlretrieve(data,path) 的方法,网上说第二种方式的下载速度会相对快一点,并且第二种有点 set 集合的意思,可以自动进行 去重 的操作,下载的文件夹中没有该文件就下载,否则就跳过。

#保存主播头像
def download(datalist):
  for data in datalist:
    #第一种下载方式
    with open("D:/software/python/python爬虫/虎牙颜值主播排名/", 'wb') as f:
      f.write(data[0])
    #第二种下载方式
    urllib.request.urlretrieve(data[0],"D:/software/python/python爬虫/虎牙颜值主播排名"+"/"+data[1]+".jpg")
    print(data[1]+"下载完成")

百度人脸识别接口

百度AI开放平台链接:https://ai.baidu.com/

python爬虫看看虎牙女主播中谁最“顶”步骤详解

输入相应的应用名称以及简介即可。

python爬虫看看虎牙女主播中谁最“顶”步骤详解

这样我们的应用就算创建完毕了。选中的部分也是我们接下来会用到的。

python爬虫看看虎牙女主播中谁最“顶”步骤详解

之后我们先去看一下sdk文件

python爬虫看看虎牙女主播中谁最“顶”步骤详解

看使用说明即可,不用着急下载,之后我们直接在pycharm中安装模块就行。

python爬虫看看虎牙女主播中谁最“顶”步骤详解

之后我们来看一下简单的操作流程首先先创建客户端:

python爬虫看看虎牙女主播中谁最“顶”步骤详解

之后我们就是调用接口解析图片,因为我们需要返回颜值分数这一个参数,所以还需要带参数进行请求,否则无法将分数信息返回给我们。如下图:

python爬虫看看虎牙女主播中谁最“顶”步骤详解

python爬虫看看虎牙女主播中谁最“顶”步骤详解

这样我们颜值检测的接口流程基本就已经理清楚了,代码如下:

def face_rg(file_path):
  """ 你的 APPID AK SK """
  APP_ID = '你的 App ID'
  API_KEY = '你的 Api Key'
  SECRET_KEY = '你的 Secret Key'

  client = AipFace(APP_ID, API_KEY, SECRET_KEY)

  with open(file_path,'rb')as file:
    data=base64.b64encode(file.read())


  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']

之后我们就只需要编写一个遍历文件夹下面的图片进行检测,之后将整个信息按照颜值分数进行降序排列:

path=r"D:\software\python\python爬虫\虎牙颜值主播排名"
image_list=os.listdir(path)
name_score={}
for image in image_list:
  try:
    print(image.split(".")[0]+"颜值评分为:%d"%face_rg(path+"/"+image))
    name_score[image.split(".")[0]]=face_rg(path+"/"+image)
  except:
    pass
second_score=sorted(name_score.items(),key=lambda x:x[1],reverse=True)
print("-------------------------------------检测结束-------------------------------------")
print("-------------------------------------以下是排名-------------------------------------")
for a,b in enumerate(second_score):
  print("{}的颜值评分为:{},排名第{}".format(second_score[a][0],second_score[a][1],a+1))

这里博主测完自己的颜值是 52分,连及格线都没到 ,大家也可以在评论区说说自己的分数。

python爬虫看看虎牙女主播中谁最“顶”步骤详解

效果演示

python爬虫看看虎牙女主播中谁最“顶”步骤详解
python爬虫看看虎牙女主播中谁最“顶”步骤详解

到此这篇关于python爬虫看看虎牙女主播中谁最“顶”的文章就介绍到这了,更多相关python爬虫虎牙女主播内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用wxPython打开并播放wav文件的方法
Apr 24 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
Python映射拆分操作符用法实例
May 19 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
解决python3 Pycharm上连接数据库时报错的问题
Dec 03 Python
python3 http提交json参数并获取返回值的方法
Dec 19 Python
python dlib人脸识别代码实例
Apr 04 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 Python
python对csv文件追加写入列的方法
Aug 01 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
tensorflow2.0教程之Keras快速入门
Feb 20 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
Dec 01 #Python
使用python爬取抖音app视频的实例代码
Dec 01 #Python
基于Python实现粒子滤波效果
Dec 01 #Python
Django集成MongoDB实现过程解析
Dec 01 #Python
基于Django快速集成Echarts代码示例
Dec 01 #Python
Python更改pip镜像源的方法示例
Dec 01 #Python
Python读取图像并显示灰度图的实现
Dec 01 #Python
You might like
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
python中virtualenvwrapper安装与使用
2018/05/20 Python
python ChainMap的使用和说明详解
2019/06/11 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
python多线程扫描端口(线程池)
2019/09/04 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
初一学生评语大全
2014/04/24 职场文书
低碳环保口号
2014/06/12 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
2015元旦节寄语
2014/12/08 职场文书
三好学生个人总结
2015/02/15 职场文书
民事起诉状范文
2015/05/19 职场文书
电话营销开场白
2015/05/29 职场文书