首页WIN11问题盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

时间2022-10-18 17:30:23发布分享专员分类WIN11问题浏览82

大家好,我是皮皮libcurl dll

一、前言

前几天在Python白银交流群【肉丸胡辣汤】问了一个Python网络爬虫和可视化的问题libcurl dll ,提问截图如下:

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

代码如下:

#导入libcurl dll 我们要用到的模块

import requests

import re

import jieba

import wordcloud

import imageio

#选择同一个文件夹下的luoxiang.jpg图片

mask = imageio.imread('xing.jpg')

#设置想要爬取的网页地址

url = ''

#设置请求头libcurl dll ,让爬虫伪装成浏览器访问

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'}

def get_damu(url):

response = requests.get(url, headers)

response = response.content.decode('utf-8')

#通过正则表达式获取两个<d>标签内包含的弹幕信息

data = re.compile('<d.*?>(.*?)</d>')

#对目标网页使用正则表达式libcurl dll ,获取所有匹配的内容

danmu = data.findall(response)

#使用jieba模块的lcut()精确模式进行分词libcurl dll ,并用空格连接词语

danmu_word = jieba.lcut(" ".join(danmu))

#将分词结果再次用空格连接libcurl dll ,并转化成制作词云需要的字符串形式

danmu_str = " ".join(danmu_word)

#构造词云对象,字体为微软雅黑,背景颜色为白色

#设置宽度为1000高度为500libcurl dll ,通过mask设置图片形状

w = wordcloud.WordCloud(font_path="msyh.ttc",background_color='white',width=1000,height=500,mask=mask)

#将处理好的分词弹幕加载到词云中

w.generate(danmu_str)

#将生成的词云保存为danmu.png图片

w.to_file('danmu.png')

if __name__ == '__main__':

s = input("输入要爬取的弹幕地址:")

# 将用户输入的弹幕地址去掉空格并加载到get_danmu()中

get_damu(s.strip())

这个代码是从其他文章上看到的,确实可以运行,只不过现在想换个视频的URL,对于新手来说,找起来可就没那么简单了libcurl dll

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

之后在这里可以找到地址:

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

二、实现过程

这里【dcpeng】给了一份代码libcurl dll ,修改后的代码如下:

# 导入libcurl dll 我们要用到的模块

import requests

import re

import jieba

import wordcloud

import imageio

# 选择同一个文件夹下的luoxiang.jpg图片

mask = imageio.imread('Python进阶者.jpg')

# 设置想要爬取的网页地址

# url = ''

# 设置请求头libcurl dll ,让爬虫伪装成浏览器访问

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'}

def get_damu(url):

response = requests.get(url, headers)

response = response.content.decode('utf-8')

# 通过正则表达式获取两个<d>标签内包含的弹幕信息

data = re.compile('<d.*?>(.*?)</d>')

# 对目标网页使用正则表达式libcurl dll ,获取所有匹配的内容

danmu = data.findall(response)

# 使用jieba模块的lcut()精确模式进行分词libcurl dll ,并用空格连接词语

danmu_word = jieba.lcut(" ".join(danmu))

# 将分词结果再次用空格连接libcurl dll ,并转化成制作词云需要的字符串形式

danmu_str = " ".join(danmu_word)

# 构造词云对象,字体为微软雅黑,背景颜色为白色

# 设置宽度为1000高度为500libcurl dll ,通过mask设置图片形状

w = wordcloud.WordCloud(font_path="simkai.ttf", background_color='white', width=1000, height=500, mask=mask)

# 将处理好的分词弹幕加载到词云中

w.generate(danmu_str)

# 将生成的词云保存为danmu.png图片

w.to_file('danmu.png')

if __name__ == '__main__':

# s = input("输入要爬取的弹幕地址:")

url = ''

# 将用户输入的弹幕地址去掉空格并加载到get_danmu()中

# get_damu(s.strip())

get_damu(url)

运行之后可以得到预期的效果了libcurl dll

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

如果需要其他的视频弹幕,找到对应的url,替换即可libcurl dll

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

比分说下图的URL地址,找起来可能就没那么简单了,需要在抓包的XHR中认真的找libcurl dll

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

自己找一天,不如群里几分钟libcurl dll

盘点一个哔哩哔哩弹幕抓取并词云可视化的项目

这个抓取弹幕的代码还是蛮实用的libcurl dll ,有需要的小伙伴可以收藏着,万一哪天用到了呢!

三、总结

大家好,我是皮皮libcurl dll 。这篇文章主要盘点了一个Python网络爬虫和词云可视化的问题,文中针对该问题,并给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【肉丸胡辣汤】提问,感谢【dcpeng】、【此类生物】给出的思路和代码解析,感谢【甯同学】、【greenHandPyer】等人参与学习交流libcurl dll

爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

云可视项目云可视项目libcurl dll
《奥力奥力世界》最终DLC 11月2日推出 微软高级员工预示下周Win11将有“令人兴奋的东西”