帮我用Python写一个用来爬虫该网站httpswwwbilibilicomvideoBV1MN41187U6p=1&vd_source=9c183665340588179721abd85713714d的代码目的是先解析该网页正确找到弹幕和评论的标签或类名其次爬取该网站的视频的弹幕和评论最后将获取到的弹幕和评论分别绘制成词云图弹幕词云图和评论词云图
以下是用Python编写的代码,用于爬取给定网站的弹幕和评论,并生成对应的词云图。
import requests
from bs4 import BeautifulSoup
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 爬取网页内容
url = "https://www.bilibili.com/video/BV1MN41187U6?p=1&vd_source=9c183665340588179721abd85713714d"
response = requests.get(url)
html = response.text
# 解析网页内容,找到弹幕和评论的标签或类名
soup = BeautifulSoup(html, 'html.parser')
danmu_tags = soup.select('.bui-collapse-wrap .list-item.reply-wrap .text') # 弹幕标签
comment_tags = soup.select('.comment-list .list-item .text') # 评论标签
# 获取弹幕和评论的内容
danmus = [danmu.text for danmu in danmu_tags]
comments = [comment.text for comment in comment_tags]
# 将弹幕和评论内容合并
text = ' '.join(danmus + comments)
# 生成弹幕词云图
danmu_wordcloud = WordCloud(font_path='msyh.ttc', background_color='white').generate(text)
plt.figure(figsize=(10, 6))
plt.imshow(danmu_wordcloud, interpolation='bilinear')
plt.axis('off')
plt.title('弹幕词云图')
plt.show()
# 生成评论词云图
comment_wordcloud = WordCloud(font_path='msyh.ttc', background_color='white').generate(' '.join(comments))
plt.figure(figsize=(10, 6))
plt.imshow(comment_wordcloud, interpolation='bilinear')
plt.axis('off')
plt.title('评论词云图')
plt.show()
请注意,为了运行这段代码,需要安装requests、beautifulsoup4和wordcloud库,并且确保已经下载了中文字体文件msyh.ttc
原文地址: http://www.cveoy.top/t/topic/iTMZ 著作权归作者所有。请勿转载和采集!