python爬取豆瓣影评生成词云的课程设计报告_Python爬取豆瓣影评,生成词云图,只要简单一步即可实现。...

本文介绍如何使用Python爬取《绣春刀》电影的豆瓣影评,利用jieba分词和wordcloud生成词云图。通过selenium模拟登录豆瓣,爬取50页短评并存储到txt文件,然后使用jieba进行分词,最终生成词云图。
摘要由CSDN通过智能技术生成

最近看了一部电影《绣春刀》,里面的剧情感觉还不错,本文爬取的是绣春刀电影的豆瓣影评,1000个用户的短评,共5W多字。用jieba分词,对词语的出现频率进行统计,再通过wordcloud生成词云图。

今天和小伙伴们一起梳理下具体实现的流程,具体源代码已经上传到NLP小白 公众号中,发送“词云图”,即可获取源代码。

先上图为敬,看看豆瓣的网友评论侧重哪个方面。PS:词语出现的频率越多,字体越大

具体流程如下

一、自动化爬取 豆瓣影评

第一步 安装selenium 这是一个自动化测试工具,需要浏览器来配合使用

pip install selenium

第二步 下载 ChromeDriver 这是谷歌浏览器的驱动与 selenium 一起配合使用

找到你chrome 谷歌浏览器的对应的版本驱动 下载即可,本人用的是最新版,即红框位置

解压后 把 chromedriver.exe放到 Python的Scripts目录中即可,本人用的是Anaconda ,所以直接放入Scripts 文件。

安装环境准备好了之后,就可以进行 代码 测试 了。

import time

from selenium import webdriver

movie_url="https://movie.douban.com/subject/24745500/comments"

#绣春刀的评论界面

brower = webdriver.Chrome()

brower.get(movie_url)#启动chrome 浏览器 并跳转到 movie_url 网址

运行即启动chrome浏览器

由于豆瓣用户不登陆只能爬取短评会有限制,所以我们进行用户登录

右击chrome 选择审查元素,查看网页代码的结构

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Python爬取豆瓣电影词云图的步骤: 1.导入需要的库和模块 ```python import requests from bs4 import BeautifulSoup import jieba from wordcloud import WordCloud, ImageColorGenerator import matplotlib.pyplot as plt from PIL import Image import numpy as np ``` 2.获取网页源代码并解析 ```python url = 'https://movie.douban.com/subject/26363254/comments?status=P' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') ``` 3.获取评论内容并进行分词 ```python comments = soup.find_all('span', class_='short') comment_text = '' for comment in comments: comment_text += comment.text words = jieba.cut(comment_text) ``` 4.统计词频并生成词云图 ```python word_counts = {} for word in words: if len(word) == 1: continue else: word_counts[word] = word_counts.get(word, 0) + 1 wordcloud = WordCloud(font_path='msyh.ttc', background_color='white', max_words=200, max_font_size=100, width=800, height=600) wordcloud.generate_from_frequencies(word_counts) plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.show() ``` 5.生成带有图片的词云图 ```python mask = np.array(Image.open('movie.png')) image_colors = ImageColorGenerator(mask) wordcloud = WordCloud(font_path='msyh.ttc', background_color='white', max_words=200, max_font_size=100, width=800, height=600, mask=mask) wordcloud.generate_from_frequencies(word_counts) plt.imshow(wordcloud.recolor(color_func=image_colors), interpolation='bilinear') plt.axis('off') plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值