Python找寻知乎最美最帅之人!我才是最帅的那个呀~

 

都说某乎卧虎藏龙,女网友有倾国倾城、闭月羞花之容貌,男网友有玉树临风、英俊潇洒的姿态,今日我们就来探索一番吧!

爬虫部分

我选取了某乎热度非常高的10个问题,男女兼而有之。“ 帅得惨绝人寰是帅到了哪种程度? ”,这样的问题下面该会是什么样的神颜呢,真是期待呢。

这里爬取这些问题每一个的前百页回答(毕竟百页之后很少出现高赞回答)中的所有图片,毕竟这些问题都是一图胜千言的经典问题。爬虫的逻辑非常简单,将每个问题下的每个回答的所有jpg、png格式的图片链接存入Redis,参数列表仅需复制网页上的即可,唯一需要改变的是offset,我们正是用offset参数控制翻页(每次递增5)。

def get_urls(self,offset,urls):
        
        params={
                'include': '',  
                'limit': 5,
                'offset': offset,
                'platform': 'desktop',
                'sort_by': 'default'              
                }
        r=requests.get(self.url,headers=self.headers,params=params)
        data=r.json()['data']
        for i in data:
            content=i['content']
            pic_urls=re.findall(r'data-actualsrc="(.*?.(jpg|png))',content)
            for j in range(len(pic_urls)):
                self.r.sadd("urls",pic_urls[j][0])

颜值评分

颜值评分的部分呢,我调用了旷视的API,直接利用图片的url链接便可生成包含颜值评分的json数据,而这个评分正是百分制。

data={
            'api_key':'',
            'api_secret':'',                         
            'return_attributes': 'beauty,gender',
            'image_url': image_url
              }
r=requests.post(url=self.url,headers=self.headers,data=data)
score_data=json.loads(r.text)
if len(score_data['faces'])==0:
    print("未从该图片中找到人像!")
else:
    face_num=score_data['face_num']
    for i in range(face_num):
        face=score_data['faces'][i]
        beauty=face['attributes']['beauty']
        gender=face['attributes']['gender']
        if gender['value']=='Female':
            score=beauty['female_score']
        else:
            score=beauty['male_score']
        item={'image_url':image_url,
                     'score':score
                                 }
        self.db['score2'].insert_one(item)

api_key以及api_secret是需要申请的,我把所有图片都通过API得到其对应得分,并存入MongoDB中,不同的问题下的图片评分存储到不同的表中。

所有图片的平均颜值评分为69.66,总体来看大概是"  "的档次,大概是AI的评分太为严格,接下来看看那些评分超过91的女生,是怎样的的靓丽风景,顺便猜猜最高评分94.396是哪一张?

下面压力来到了男生这边,究竟“惨绝人寰”有多帅?

嗯,确实,确实美,确实帅。欣赏完帅哥美女之后,想必给自己也来个颜值评分是基本操作吧?毕竟我可是和吴彦祖平均颜值评分超过85分的男人!

源码项目加群哦:850591259

猜你喜欢

转载自www.cnblogs.com/Py1233/p/12626000.html
今日推荐