首页 > 其他 > 详细

最简单文本的爬虫,并结合数据分析和可视化能力

时间:2021-03-10 15:22:54      阅读:25      评论:0      收藏:0      [点我收藏+]

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:数据皮皮侠

B站视频的特点是可以根据视频主键标识oid就可以得到字幕,一般使用地址:https://api.bilibili.com/x/v1/dm/list.so?oid=真实oid,找到oid的方法是在网页上通过F12查看网页信息,刷新网页后查看oid即可,如下:

技术分享图片

 

本次使用《夏洛特烦恼》电源的实时字幕测试,在b站的链接是:https://www.bilibili.com/bangumi/play/ep320665?from=search&seid=12253113013013173840,马什么梅啊,Ma What?

技术分享图片

 

播放时候使用上述方法查找oid,发现用https://api.bilibili.com/x/v1/dm/list.so?oid=183896111的链接可以查看字母的XML文件列表:

技术分享图片

 

1、首先,我们得到把字幕保存到本地,这里使用lxml包处理读取的HTML并提取其中元素,保存本地;

import requests
import jieba
import os
import numpy as np
from lxml import etree
from PIL import Image
import jieba.analyse
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator

url = https://api.bilibili.com/x/v1/dm/list.so?oid=183896111
headers={
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"
}
response=requests.get(url,headers=headers)
html=etree.HTML(response.content)
d_list=html.xpath("//d//text()")
print("+++++++++++++++++"+os.getcwd()+"+++++++++++++++++")
with open (xialuote.txt,"a+",encoding="utf-8") as f:
for t in d_list:
f.write(t+\n)

 

二、词云制作,使用结巴分词读取数据,并计算常用词汇出现的频率,使用wordcloud显示图片;

words = ‘‘
f = open(xialuote.txt, r,encoding=utf-8)
for i in f:
    words += f.read()


result = jieba.analyse.textrank(words, topK=450, withWeight=True)
keyworlds = dict()
or i in result:

    keyworlds[i[0]] = i[1]



#print(keyworlds)



image = Image.open(test.jpg)

graph = np.array(image)

wc = WordCloud(font_path=simhei.ttf, background_color=Black, max_font_size=170, mask=graph)

wc.generate_from_frequencies(keyworlds)

image_color = ImageColorGenerator(graph)

plt.imshow(wc)

# plt.imshow(wc.recolor(color_func=image_color))

plt.axis(off)

plt.show()

wc.to_file(x.png)

 

输出图片:

技术分享图片

 

PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

技术分享图片

 

可以免费领取源码、项目实战视频、PDF文件等

技术分享图片

最简单文本的爬虫,并结合数据分析和可视化能力

原文:https://www.cnblogs.com/moon3/p/14510981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!