您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關利用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/
輸入相應的應用名稱以及簡介即可。
這樣我們的應用就算創建完畢了。選中的部分也是我們接下來會用到的。
之后我們先去看一下sdk文件
看使用說明即可,不用著急下載,之后我們直接在pycharm中安裝模塊就行。
之后我們來看一下簡單的操作流程首先先創建客戶端:
之后我們就是調用接口解析圖片,因為我們需要返回顏值分數這一個參數,所以還需要帶參數進行請求,否則無法將分數信息返回給我們。如下圖:
這樣我們顏值檢測的接口流程基本就已經理清楚了,代碼如下:
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爬蟲怎么爬取虎牙直播,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。