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 translator使用实例
Sep 06 Python
发布你的Python模块详解
Sep 15 Python
python多进程实现进程间通信实例
Nov 24 Python
Python OpenCV获取视频的方法
Feb 28 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
python spyder中读取txt为图片的方法
Apr 27 Python
python重试装饰器的简单实现方法
Jan 31 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
解决python 找不到module的问题
Feb 12 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
Feb 21 Python
python删除某个目录文件夹的方法
May 26 Python
Python Django中间件使用原理及流程分析
Jun 13 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
类的另类用法--数据的封装
2006/10/09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
php经典趣味算法实例代码
2020/01/21 PHP
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python时间获取及转换知识汇总
2017/01/11 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python获取引用对象的个数方式
2019/12/20 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
购买一个高级域名:BuyDomains
2018/03/11 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
中专毕业生个人职业生涯规划
2014/02/19 职场文书
保护环境倡议书500字
2014/05/19 职场文书
研究生导师评语
2014/12/31 职场文书
搞笑结婚保证书
2015/05/08 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
简爱电影观后感
2015/06/10 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
如何通过一篇文章了解Python中的生成器
2022/04/02 Python