python爬蟲看看虎牙女主播中誰(shuí)最“頂”步驟詳解
網(wǎng)頁(yè)鏈接:https://www.huya.com/g/4079
這里的主要步驟其實(shí)還是和我們之前分析的一樣,如下圖所示:
這里再簡(jiǎn)單帶大家看一下就行,重點(diǎn)是我們的第二部分。
既然網(wǎng)頁(yè)結(jié)構(gòu)我們已經(jīng)分析完了,那么我還是選擇用之前的xpath來(lái)爬取我們所需要的資源。
# 獲取所有的主播信息 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
這樣我們就能獲取到我們所需要的所有資源,之后將圖片保存下來(lái)即可。這其中有兩種文件的下載方式,一種是通過 with open打開文件的方式 ,另外一種就是通過 urllib.request.urlretrieve(data,path) 的方法,網(wǎng)上說第二種方式的下載速度會(huì)相對(duì)快一點(diǎn),并且第二種有點(diǎn) set 集合的意思,可以自動(dòng)進(jìn)行 去重 的操作,下載的文件夾中沒有該文件就下載,否則就跳過。
#保存主播頭像 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]+"下載完成")
百度人臉識(shí)別接口
百度AI開放平臺(tái)鏈接:https://ai.baidu.com/
輸入相應(yīng)的應(yīng)用名稱以及簡(jiǎn)介即可。
這樣我們的應(yīng)用就算創(chuàng)建完畢了。選中的部分也是我們接下來(lái)會(huì)用到的。
之后我們先去看一下sdk文件
看使用說明即可,不用著急下載,之后我們直接在pycharm中安裝模塊就行。
之后我們來(lái)看一下簡(jiǎn)單的操作流程首先先創(chuàng)建客戶端:
之后我們就是調(diào)用接口解析圖片,因?yàn)槲覀冃枰祷仡佒捣謹(jǐn)?shù)這一個(gè)參數(shù),所以還需要帶參數(shù)進(jìn)行請(qǐng)求,否則無(wú)法將分?jǐn)?shù)信息返回給我們。如下圖:
這樣我們顏值檢測(cè)的接口流程基本就已經(jīng)理清楚了,代碼如下:
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" """ 如果有可選參數(shù) """ options = {} options["face_field"] = "beauty" """ 帶參數(shù)調(diào)用人臉檢測(cè) """ result=client.detect(image, imageType, options) # print(result) return result['result']['face_list'][0]['beauty']
之后我們就只需要編寫一個(gè)遍歷文件夾下面的圖片進(jìn)行檢測(cè),之后將整個(gè)信息按照顏值分?jǐn)?shù)進(jìn)行降序排列:
path=r"D:\software\python\python爬蟲\虎牙顏值主播排名" image_list=os.listdir(path) name_score={} for image in image_list: try: print(image.split(".")[0]+"顏值評(píng)分為:%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("-------------------------------------檢測(cè)結(jié)束-------------------------------------") print("-------------------------------------以下是排名-------------------------------------") for a,b in enumerate(second_score): print("{}的顏值評(píng)分為:{},排名第{}".format(second_score[a][0],second_score[a][1],a+1))
這里博主測(cè)完自己的顏值是 52分,連及格線都沒到 ,大家也可以在評(píng)論區(qū)說說自己的分?jǐn)?shù)。
效果演示
到此這篇關(guān)于python爬蟲看看虎牙女主播中誰(shuí)最“頂”的文章就介紹到這了,更多相關(guān)python爬蟲虎牙女主播內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python關(guān)鍵字及可變參數(shù)*args,**kw原理解析
這篇文章主要介紹了Python關(guān)鍵字及可變參數(shù)*args,**kw原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04AI人工智能 Python實(shí)現(xiàn)人機(jī)對(duì)話
這篇文章主要為大家詳細(xì)介紹了AI人工智能應(yīng)用,本文擬使用Python開發(fā)語(yǔ)言實(shí)現(xiàn)類似于WIndows平臺(tái)的“小娜”,,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11使用Dajngo 通過代碼添加xadmin用戶和權(quán)限(組)
這篇文章主要介紹了使用Dajngo 通過代碼添加xadmin用戶和權(quán)限(組),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-07-07Python Scrapy框架:通用爬蟲之CrawlSpider用法簡(jiǎn)單示例
這篇文章主要介紹了Python Scrapy框架:通用爬蟲之CrawlSpider用法,結(jié)合實(shí)例形式分析了Scrapy框架中CrawlSpider的基本使用方法,需要的朋友可以參考下2020-04-04python實(shí)現(xiàn)反轉(zhuǎn)部分單向鏈表
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)反轉(zhuǎn)部分單向鏈表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09python中有關(guān)時(shí)間日期格式轉(zhuǎn)換問題
這篇文章主要介紹了python中有關(guān)時(shí)間日期格式轉(zhuǎn)換問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12Python設(shè)計(jì)模式之單例模式實(shí)例
這篇文章主要介紹了設(shè)計(jì)模式中的單例模式Python實(shí)例,需要的朋友可以參考下2014-04-04python之如何將標(biāo)簽轉(zhuǎn)化為one-hot(獨(dú)熱編碼)
這篇文章主要介紹了python之如何將標(biāo)簽轉(zhuǎn)化為one-hot(獨(dú)熱編碼)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06