温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用python爬虫怎么爬取虎牙直播

发布时间:2020-12-01 15:07:43 来源:亿速云 阅读:443 作者:Leah 栏目:开发技术

本篇文章给大家分享的是有关利用python爬虫怎么爬取虎牙直播,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

# 获取所有的主播信息 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))

以上就是利用python爬虫怎么爬取虎牙直播,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI