python挖掘B站猛男手游公主连结的另类操作!

作为一个男孩子,你会受得了一群大眼萌妹对着你日式问侯,搭配主人般的服务?? 没错,4月17日,B站首发《公主连结》这款游戏,已经火爆了!通过我的初步了解,这是一款轻度卖萌,剧情类,然后抽卡刷图的网页游戏,也有人也说这是一款猛男专属游戏,因为他的画工完全是符合成人的思想构造的,由于整体呈现二次元风格,已经在B站开始走火起来,那我们就从这个萌游中挖掘点宝藏出来吧!

游戏界面:

python挖掘B站猛男手游公主连结的另类操作!_第1张图片
整体界面都是那种很二次元风格,包括里面的角色也是,都是女性角色,完全的满足了猛男的种种幻想,据我了解,到现在开服不到一周的时间内,各渠道下载量已经快三百多万了,这对于一个新款游戏流量打造已经很不错了。


B站下载得分:

其他渠道平台的下载评分也均在八分以上,这对于一个新款手游来说相当了不起了!


python挖掘B站猛男手游公主连结的另类操作!_第2张图片


python骚操作:

要想评价一个新款游戏,常规的从画质,美工,手感这些方向开始入手,但是我们作为程序员,这些常规操作我们根本不屑,要做就得做大的,才能体现我们的逼格对吧,这里用到一点点爬虫知识,还有plt和一点wordcloud知识,但是不要担心,我很详细的!
python挖掘B站猛男手游公主连结的另类操作!_第3张图片
下面是我打算做的步骤:

  • 抓取高清壁纸:
  • 抓取B站下载评论:
  • 统计高频词汇:
  • 绘制python词云:

因为我的爬虫还在学习中,有些地方不能解释的很清楚,还请各位见谅见谅!


那下面我们开始吧!

抓取高清壁纸:

这个我觉得难度系数是最低的嘻嘻,先放一张图压压惊:

python挖掘B站猛男手游公主连结的另类操作!_第4张图片

  • 函数库: requests 库 和 os 库

代码如下:

import requests
import os
def get_img():  # 抓取图片	
	url = 'http://static.biligame.com/pcr/gw/pc/images/p6/op/'  # 网址相同的部分
	girl_url = []
    for i in range(1, 30):  # 假设抓取三十个文件
        s = url + str(i) + '.jpg'
        girl_url.append(s)   #  拼接网址,然后装入列表

    path = 'D://公主连结壁纸//'
    if not os.path.exists(path):  # 如果path不存在
        os.mkdir(path)  # 创建path
        os.chdir(path) # 进入path
    else:
        os.chdir(path)

    for j, k in enumerate(girl_url):
        r = requests.get(k)
        if r.status_code == 200:  # 如果请求正常 那我们就下载它
            with open('girl' + str(j) + '.jpg', 'wb') as fw:
                fw.write(r.content)
        else:
            print('壁纸数量不足!')
            break


抓取B站下载评论:

  • 第一步: 进入网址:然后点击F12,然后这样:python挖掘B站猛男手游公主连结的另类操作!_第5张图片
  • 第二步:拼接xml网址:https://comment.bilibili.com/ + cid +.xml
    在这里把复制好的cid加入,那我们就得到这样的网页:
    python挖掘B站猛男手游公主连结的另类操作!_第6张图片
  • 通过代码处理一下数据,然后获取:
import requests
from bs4 import BeautifulSoup
def get_data(girl_url):  # 获得中文词汇
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36 Edg/81.0.416.58'}  #  这里加一个请求头
    r = requests.get(girl_url, headers=headers)  # 获得网页
    r.encoding = r.apparent_encoding  # 转码
    soup = BeautifulSoup(r.text, 'html.parser')  # 解析库
    d = soup.find_all('d')  # 获得含有d标签
    d_text = [i.text for i in d]  # 获得所有的中文词汇
    d_text = [i.replace(' ', '') for i in d_text]  # 去除空格
    return d_text

统计高频词汇:

这里使用到字典功能,具体的我们看代码:


def get_item(girl_text):  # 统计高频词汇
    counts = {}  # 设置一个字典
    for i in girl_text:
        counts[i] = counts.get(i, 0) + 1  # 存在就给值,不存在就给0,然后加1
    item = list(counts.items())  # 列表
    item.sort(key=lambda x: x[1], reverse=True)  # 正序
    for i in range(10):  # 打印前十个
        girl_data, girl_count = item[i]
        print(girl_data, girl_count)
    return item[:10]

效果图:
python挖掘B站猛男手游公主连结的另类操作!_第7张图片

这有一点出乎意料呀,果然公主焊接才是猛男爱的游戏!


生成高频词云:

  • 需要的函数库:
pip install wordcloud

很不好意思,程序到这里,突然bug了,我爬虫也不是很好,也不知道发生了什么,我找了好久,还是找不到程序到底出错在哪里了,所以后面我打算换一种方式继续下去,真的很抱歉!但是我还是想把文章写下去的,

python挖掘B站猛男手游公主连结的另类操作!_第8张图片

那我们就自己生成一下词汇,总要达到我要的结果

代码:

import wordcloud
from PIL import Image
def make_wordcloud():  # 制作词云
    item = [('啥也干不死', 11), ('散人干不死', 10), ('傻人肝不死', 9),
    ('接头霸王', 7), ('公主焊接', 7), ('妈!', 6), ('日日日', 6),
            ('活动', 5), ('散人肝不死', 5), ('母猪焊接', 4)]
    word = []  # 存放总的词汇
    for i in range(len(item)):  # 长度
        girl_data, girl_count = item[i]
        s = [girl_data for i in range(girl_count)]
        word.append(s)  # 获得总词汇
    # 下面制作词云
    t = sum(word, [])  # 使用sum方式把二维变成一维
    t = ' '.join(t)
    twc = wordcloud.WordCloud(background_color='Tan', width=1500, height=1000, font_path="msyh.ttc")
    twc.generate(t)  # 生成词云
    twc.to_file('girl.png')
    a = Image.open('girl.png')
    a.show()

效果图:
python挖掘B站猛男手游公主连结的另类操作!_第9张图片


后记:

一下子知识体系跨越的让我很晕,通过这次我感觉到了自己的能力还是欠缺,不管怎么说,加油吧!

你可能感兴趣的:(数据分析实例,python,数据分析,xml,爬虫)