本次是百度的七日打卡营的第六期,这次的内容是爬取视频的下方的评论数据,并进行词频统计、绘制词云、审核评论。该任务是对这七日打卡营的一个综合练习,首先看一下任务吧。
第一步:爱奇艺《青春有你2》评论数据爬取
- 爬取任意一期正片视频下评论
- 评论条数不少于1000条
第二步:词频统计并可视化展示
- 数据预处理:清理清洗评论中特殊字符(如:@#¥%、emoji表情符),清洗后结果存储为txt文档
- 中文分词:添加新增词(如:青你、奥利给、冲鸭),去除停用词(如:哦、因此、不然、也好、但是)
- 统计top10高频词
- 可视化展示高频词
第三步:绘制词云
- 根据词频生成词云
- 可选项-添加背景图片,根据背景图片轮廓生成词云
第四步:结合PaddleHub,对评论进行内容审核
需要的配置和准备
- 中文分词需要jieba
- 词云绘制需要wordcloud
- 可视化展示中需要的中文字体
- 网上公开资源中找一个中文停用词表
- 根据分词结果自己制作新增词表
- 准备一张词云背景图(附加项,不做要求,可用hub抠图实现)
- paddlehub配置
1、 首先安装需要的库和需要的模型
!pip install jieba
!pip install wordcloud
#安装模型
!hub install porn_detection_lstm==1.1.0
!pip install --upgrade paddlehub
2、导入需要的库
from __future__ import print_function
import requests
import json
import re #正则匹配
import time #时间处理模块
import jieba #中文分词
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
from matplotlib.font_manager import _rebuild
from PIL import Image
from wordcloud import WordCloud #绘制词云模块
import paddlehub as hub
3、爬取评论信息
#请求爱奇艺评论接口,返回response信息
def getMovieinfo(url):
'''
请求爱奇艺评论接口,返回response信息
参数 url: 评论的url
:return: response信息
'''
session = requests.Session()
headers = {
"User-Agent": "Mozilla/