联博以太坊_用Python扒出B站那些“惊为天人”的阿婆主!
发表时间:2021-01-02 浏览量:78
用Python扒出B站那些“惊为天人”的阿婆主!
作者:徐麟,某互联网公司数据剖析狮,小我私家民众号数据森麟(id:shujusenlin)
前言
近期B站的跨年晚会因其怪异的创意席卷各大视频网站,给公司带来了极大的正面影响,股价也同时大涨,想必人人都在悔恨没有早点买B站的股票:
然而今天我们要讨论的不是B站的跨年晚会,而是B站的焦点资源:“惊为天人”的阿婆主们,文章的灵感来自于知乎热榜上的一个问题:
数据获取
上面的问题一共获得了859个回覆,本文的数据也正来源于此,由于许多回覆都市将带有阿婆主ID的链接在回覆中体现,如下图所示:
我们可以将问题中泛起的阿婆主空间id举行了爬取,但思量到并不是所有回覆都市带有这样的ID,于是将一些加粗的字体举行了提取,从中获得一些阿婆主的名称,作为数据的弥补:
上面的这个回覆就是一个典型的案例,其中提到了之前异常火的获得库克生日祝福的小学生,提取数据的一些代码如下:
# 最先爬取数据
driver = webdriver.Chrome()
driver.maximize_window()
url = 'https://www.zhihu.com/question/291506148'
js='window.open("'+url+'")'
driver.execute_script(js)
for i in range(1000):
time.sleep(1)
js="var q=document.documentElement.scrollTop=10000000"
driver.execute_script(js)
print(i)
# 整理数据
all_html = [k.get_property('innerHTML') for k in driver.find_elements_by_class_name('AnswerItem')]
all_text = ''.join(all_html)
pat = '/space.bilibili.com/\d+'
spaces = list(set([k for k in re.findall(pat,all_text)]))
现在获取到了要这些“惊为天人”的阿婆主们的ID,下一步要做的就是需要爬取他们B站的小我私家空间,获得更多详细的信息:
上面就是B站着名科学家手工耿的小我私家空间,从中我们可以获取手工耿的粉丝数,视频主要类型(一直以为应该是科技,没想到居然是生涯,B站节操可以的)以及所有视频平均的播放量、弹幕数、谈论数,作为后续举行排名的依据,部门代码如下:
upstat = pd.DataFrame(columns=['name','fans','face','main_type','total_video',
'total_play', 'total_comment'])
for i in range(len(spaces)):
try:
time.sleep(1)
space_id = str(spaces[i].replace('/space.bilibili.com/',''))
url= 'https://api.bilibili.com/x/web-interface/card?mid={}&jsonp=jsonp&article=true'.format(space_id)
html = requests.get(url=url, cookies=cookie, headers=header).content
data = json.loads(html.decode('utf-8'))['data']
this_name = data['card']['name']
this_fans = data['card']['fans']
this_face = data['card']['face']
this_video = int(data['archive_count'])
total_page = int((this_video-1)/30)+1
video_list=[]
for j in range(total_page):
url = 'https://api.bilibili.com/x/space/arc/search?mid={}&ps=30&tid=0&pn={}&keyword=&order=click&jsonp=jsonp'.format(space_id,str(j+1))
html = requests.get(url=url, cookies=cookie, headers=header).content
data = json.loads(html.decode('utf-8'))
if j == 0 :
type_list = data['data']['list']['tlist']
this_list = data['data']['list']['vlist']
video_list = video_list + [ this_list [k] for k in range(len(this_list))]
type_list = list(type_list.values())
type_list = {type_list[k]['name']:int(type_list[k]['count']) for k in range(len(type_list))}
this_type = max(type_list,key=type_list.get)
this_play = sum([video_list[k]['play'] for k in range(len(video_list)) if video_list[k]['play'] != '--'])
this_comment = sum([video_list[k]['comment'] for k in range(len(video_list)) if video_list[k]['comment'] != '--'])
upstat = upstat.append({'name':this_name,
'fans':this_fans,
'face':this_face,
'main_type':this_type,
'total_video':this_video,
'total_play':this_play,
'total_comment':this_comment},
ignore_index=True)
print('success:'+str(i))
except:
print('fail:'+str(j))
continue
最终我们就获得了B站200多位“惊为天人”的阿婆主们的信息,概览数据如下:
总体概览
获得了这些数据之后,我们首先看一下这些“惊为天人”阿婆主们公布的视频主要类型漫衍:
,www.u-healer.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。
由于B站生涯的分类中一应俱全,手工耿和李子柒都被划归到了生涯类,想想都玄幻,因此这一类型的视频是分组多的,另外科技和数码类的占比也是异常多的,印证了B站是个优异的学习网站的结论,有兴趣的可以参照另一篇文章:你信赖逛B站也能学编程吗?
除此之外的视频可统称为娱乐类,包罗了游戏、影视这些,之后会将视频类型根据科技、生涯、娱乐举行大的划分,寻找各个种别最为“惊为天人”的阿婆主。
在最先举行正式的排名前,首先用Python将这些阿婆主的头像举行拼接,获得下面的图片,看看一眼望去有若干是你异常熟悉的阿婆主:
这部门代码如下:
i = 0
for i in range(upstat.shape[0]):
loc = 'D:/爬虫/惊为天人/'+upstat['name'][i]+'.jpg'
# request.urlretrieve(upstat['face'][i],loc)
img = mpimg.imread(loc)[:,:,0:3]
img = cv2.resize(img, (500,500),interpolation=cv2.INTER_CUBIC)
if i % 20 == 0:
row_img=img
elif i == 19:
row_img=np.hstack((row_img,img))
all_img = row_img
elif i % 20 == 19:
row_img=np.hstack((row_img,img))
all_img = np.vstack((all_img,row_img))
else:
row_img=np.hstack((row_img,img))
i = i+1
plt.axis('off')
plt.margins(0,0)
plt.imshow(all_img)
plt.savefig('头像.png',dpi=1000)
综合排名
下面要做的事情就对照勇敢,要斗胆为这些阿婆主们举行排名,综合思量他们的粉丝数,视频平均弹幕数、播放量、谈论数,获得一个综合的指数,特此声明:本排名仅供娱乐,如要深究,AWSL
首先看一下进入TOP10的阿婆主们:
小编近期刚刚被安利的巫师财经榜上有名,建议人人去看一下,真的是将庞大的金融知识说得很接地气,华农兄弟和敬汉卿两大着名阿婆主也榜上有名,下面再来看下TOP11-20的榜单:
徐大sao,李子柒和手工耿在榜单中同时泛起,未来有机遇,希望有人能谋划一次他们三人之间的互助,流程都想好了,手工耿为李子柒提供后现代的工具,李子柒行使手工耿的神器制作世界上最辣的辣椒,之后由徐大Sao一口吃掉,手工耿最后再用自己的脑瓜崩为徐大Sao缓解辣椒带来的不适感
分类排名
举行完综合排名之后,下面将所有阿婆主根据科技、生涯、娱乐举行综合排名,划分活得各个分类的TOP10:
有了分类排名后,人人就可以根据自己的喜欢按需索取,信赖看完之后,脑洞会语法变大,一段时间后可以去实验自己在B站公布视频,成为B站粉丝到达两位数的着名(才怪)阿婆主
最后用手工耿在B站播放量最多的一个视频作为本文的末端,这个视频异常好的体现了本文“惊为天人”的主题,也希望人人能亲自去实验一下,若是用完还能四肢健全地写下使用感受,迎接与我们分享
长按二维码关注我们
数据森麟民众号的交流群已经确立,许多小伙伴已经加入其中,谢谢人人的支持。人人可以在群里交流关于数据剖析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注民众号奥,关注后让管理员协助拉进群,期待人人的加入。
管理员二维码:
0
珍藏