日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

蹭一波热度,对《青春有你2》109位漂亮小姐姐下手了

發布時間:2025/1/21 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蹭一波热度,对《青春有你2》109位漂亮小姐姐下手了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“AI搞事情”關注我們


“淡黃的長裙,蓬松的頭發,醒了很久,還是在腦袋里瘋狂回蕩”,不好意思,一不小心唱出了真實感受,青春有你2賽事已經過半,最近可算是大熱,各種梗,各種瓜滿天飛,就連我都被我妹拉著強行去助力了一波。

本著AI搞事的態度,怎么能放棄這波熱度呢,騷操作是絕對不能少的,下面我就用python結合爬蟲和可視化技術對《青春有你2》的進行簡單的數據統計與分析。

一、信息獲取

利用前面文章介紹的scrapy框架對愛奇藝官方助力網站進行數據爬取,不過這里涉及到動態網頁的抓取,根據下面的網頁分析有兩種方案,一是需要配合selenium和谷歌驅動瀏覽器無頭模式一起使用,再根據網頁標簽進行解析,二是直接請求網頁的動態地址,返回json格式的選手數據。通過爬蟲,我們可以獲取小姐姐們的一些數據,包括:姓名、出生日期、身高體重等信息,以及他們的美照。

1. 網頁分析

大致瀏覽下助力網站,包含主頁助力頁面,點擊頭像進入小姐姐的主頁,這里有禮物解鎖和精彩視頻,再進入泡泡圈,就可以了解小姐姐的詳細信息了。

個人信息頁

主網站解析:

http://www.iqiyi.com/h5act/generalVotePlat.html?activityId=373

方式一:通過selenium模擬訪問返回的網頁源碼進行解析。

可以通過XPath Helper谷歌瀏覽器插件幫助進行網頁解析。

方式二:根據網頁實際請求地址,可以從Header查看請求地址,直接獲取json返回數據。

2. 信息獲取

準備工作

  • 安裝python工具庫scrapy和selenium

scrapy為一個爬蟲框架,之前有介紹過使用scrapy進行姓名爬蟲:

Scrapy爬取姓名大全,看看那個名字最受父母青睞

pip install scrapy

若使用方式一進行數據抓取,還需要準備以下工作:安裝selenium和瀏覽器驅動。我使用的是第二種方式直接獲取請求后的json數據,這里也對方式一做簡單記錄。

selenium是一個用于Web應用程序測試的工具。直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器有IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等,在爬蟲上則是模擬正常用戶訪問網頁并獲取數據。

pip install selenium
  • 安裝驅動

這里選擇使用谷歌瀏覽器作為模擬用戶操作的瀏覽器,因此需要安裝對應的驅動chromedriver使得selenium可以調用chrome瀏覽器。

通過幫助 > 關于Google Chrome(G),查看瀏覽器版本。

通過淘寶的鏡像:

http://npm.taobao.org/mirrors/chromedriver/


找到對應版本驅動并下載到本地。解壓將chromedriver.exe放在有設置環境變量的目錄下,便于程序調用,本人放在python的安裝目錄下。

數據爬取

  • 創建scrapy項目

scrapy startproject youngni cd youngni scrapy genspider star "替換為愛奇藝官方助力網站"
  • 編寫代碼

編寫Item數據項

# -*- coding: utf-8 -*- import scrapyclass StarItem(scrapy.Item):order = scrapy.Field() # 姓名name = scrapy.Field() # 姓名page_url = scrapy.Field() # 個人頁option_id = scrapy.Field() # 個人詳細頁面id頁photo_url = scrapy.Field() # 照片discover_image = scrapy.Field() # 透明背景照片num_fans = scrapy.Field() # 粉絲數量num_content = scrapy.Field() # 內容數量birth_place = scrapy.Field() # 出生地birth_day = scrapy.Field() # 生日zodiac = scrapy.Field() # 星座height = scrapy.Field() # 身高weight = scrapy.Field() # 體重occupation = scrapy.Field() # 職業hobby = scrapy.Field() # 愛好profile = scrapy.Field() # 簡介school = scrapy.Field() # 簡介fannick = scrapy.Field() # 簡介

返回json處理和網頁解析

# -*- coding: utf-8 -*- import json import scrapy from youngni.items import StarItemclass StarSpider(scrapy.Spider):name = 'star'allowed_domains = ['iqiyi.com']# start_urls = ['https://www.iqiyi.com/h5act/generalVotePlat.html?activityId=373']start_urls = ['https://vote.iqiyi.com/vote-api/r/getMergeVoteInfo?voteIds=0463831125010981&sourceId=1&uid=2033788978&sign=5a8981521f3c13377f1d0843363d3652']info_map = {'出生地':'birth_place', '生日':'birth_day', '星座':'zodiac', '身高':'height','體重':'weight', '職業':'occupation', '簡介':'profile', '愛好': 'hobby','畢業院校': 'school', '粉絲昵稱':'fannick'}def precess(self, text):if '萬' in text:return float(text.replace('萬', '')) * 10000return int(text)def parse(self, response):json_data = json.loads(response.body)data_dict = json_data['data']['0463831125010981']['childs'][0]['options']for index, item_dict in enumerate(data_dict):star_item = StarItem()star_item['order'] = index # 當前排名star_item['name'] = item_dict['text'] # 姓名star_item['page_url'] = item_dict['pageUrl'] # 個人頁star_item['option_id'] = item_dict['optionId'] # 個人詳細頁面id頁star_item['photo_url'] = [item_dict['picUrl']] # 照片star_item['discover_image'] = [eval(item_dict['kv'])["discover_image"]] # 透明背景照片url = 'https://m.iqiyi.com/m5/bubble/circleInfo_w{page_url}_p15.html'.format(page_url=star_item['option_id'])yield scrapy.Request(url, meta={'star_item': star_item}, callback=self.parse_circleInfo)def parse_circleInfo(self, response):star_item = response.meta['star_item']infos = response.xpath('//div[@class="topic-info"]/span[@class="c-topic-info"]/text()').extract()star_item['num_fans'] = self.precess(infos[0].replace('粉絲:', ''))star_item['num_content'] = self.precess(infos[1].replace('內容:', ''))url = 'https://m.iqiyi.com/m5/bubble/star_s{}_p15.html'.format(star_item['option_id'])yield scrapy.Request(url, meta={'star_item': star_item}, callback=self.parse_star_page)def parse_star_page(self, response):star_item = response.meta['star_item']infos = response.xpath('//div[@class="m-starFile-Pinfo"]/div[@class="c-info-wape"]')star_infors_tag = infos[0].xpath('//h2/text()').extract()star_infors = infos[0].xpath('//div[@class="info-right"]/text()').extract()[:len(star_infors_tag)]info_dict = dict(zip(star_infors_tag, star_infors))for key in info_dict:star_item[self.info_map[key]] = info_dict[key] if '\n' not in info_dict[key] else Noneyield star_item

數據存取pipeline,主要實現將信息寫入到csv文件,圖片處理的pipeline可以不用直接寫,scrapy提供有scrapy.pipelines.images.ImagesPipeline直接保存圖片,需要將照片鏈接轉成list,然后和保存路徑一并配置在setting里。

# -*- coding: utf-8 -*- import pandas as pd from scrapy.pipelines.images import ImagesPipelineclass YoungniPipeline(object):def __init__(self):self.info_list = []def process_item(self, item, spider):self.info_list.append(item)return itemdef close_spider(self, spider):df = pd.DataFrame(self.info_list)df.to_csv('star_info.csv', encoding='utf-8', index=False)

setting配置

BOT_NAME = 'youngni'SPIDER_MODULES = ['youngni.spiders'] NEWSPIDER_MODULE = 'youngni.spiders' ROBOTSTXT_OBEY = False ITEM_PIPELINES = {'youngni.pipelines.YoungniPipeline': 300,'scrapy.pipelines.images.ImagesPipeline': 1 } # photo_url是在item.py文件中添加的圖片的url屬性 IMAGES_URLS_FIELD = 'photo_url' # 設置存放圖片的路徑 IMAGES_STORE = './images'

運行程序,等著收小姐姐們的數據吧????

import os os.system("scrapy crawl star")

二、可視化分析

01. 數據可視化

本部分主要根據上面獲取的數據進行各類信息的統計與可視化展示,采用pandas做統計分析,使用pyecharts進行可視化繪制,代碼較多就不展示了。

pyecharts文檔:https://pyecharts.org

pyecharts案例:https://gallery.pyecharts.org

年齡段分析:年齡集中在21至25之間,看來90后的我們還是很青春的嘛。

地域分析:可以看出山東妹子最多,其余相對較多的分布在長江流域的省份。

身高分析:平均身高167,最高身高175,最矮158。

體重分析:數量最多的體重在48kg,難怪別人吃火鍋,大于48kg的就只能吃黃瓜了????。

星座統計:相對較多的是獅子座、魔羯座、天秤座和白羊座,不知道出道和星座有關系沒有?

愛好詞云:看看小姐姐們都有些什么愛好,排第一的竟然是看電影????

粉絲話題:根據泡泡圈粉絲統計數量進行展示,第一名虞書欣絕對的優勢啊。

02. 圖像操作

使用百度paddlehub的pyramidbox_face_detection人臉檢測模型對大合照(絕佳的測試樣本啊)進行人臉檢測,竟然都還有漏檢的,使用輕量化模型Ultra-Light-Fast-Generic-Face-Detector-1MB更沒法看。

人像漫畫:調用百度人像漫畫API接口實現

漫畫美少女-費沁源

據說小姐姐們撞臉了整個娛樂圈,我用了百度的人臉識別試了試乃萬和王源的最強撞臉,看來實錘了。

乃萬 VS 王源

和女版王源對比下,我以為相似度會上升呢????

乃萬 VS 女版王源

人臉融合一下試試,幾乎沒有違和感啊

最后,要想出道,顏值肯定得過關,這里仍采用了百度的人臉識別接口進行人臉檢測、關鍵點定位和顏值打分

然后,AI搞事情的我肯定是要對顏值排個序的,看看百度模型認為的高顏值是什么樣的。

看來這模型還是不行啊,我覺得小姐姐們都應該是90多分以上的顏值啊。

排名前三的小姐姐:

到此,所有騷操作結束,快去為自己喜歡的小姐姐助力去吧。

長按二維碼關注我們

有趣的靈魂在等你

留言請摁

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的蹭一波热度,对《青春有你2》109位漂亮小姐姐下手了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。