这个爬取网页评价文本并进行分词工作、词频分析的代码为什么运行不了,请问如何修改?
#最开始导入中文分词库,jieba库
import jieba
import requests
from bs4 import BeautifulSoup
# 发送请求获取网页内容
url = 'http://www.kaggle.com/sid321axn/amazon-alexa-reviews'
response = requests.get(url)
html_content = response.text
# 使用 BeautifulSoup 解析网页内容
soup = BeautifulSoup(html_content, 'html.parser')
title = soup.title.string
print('评价::', title)
#使用精确模式对文本进行分词
words = jieba.lcut(text)
#通过键值对的形式存储词语及其出现的次数
counts = {}
#对所有分词进行词频统计
for word in words:
if len(word) == 1: #单个词语不计算在内
continue
else:
counts[word] = counts.get(word, 0) + 1 #遍历所有词语,每出现一次其对应的值加1
#将键值对转换成列表
item = list(counts.item())
#根据词语出现的次数进行从大到小的排序
item.sort(key = lambda x: x[1], reverse = True)
#输出列表
print(items)
#输出前25个词频
for i in range(25):
print(items[i])
#前期准备
#新建两个空列表,供之后转换数据使用
exl1 = []
exl2 = []
#利用循环,将元组分解,按顺序放入列表中
for i in range(0,10):
exl1.append(items[i][0])
exl2.append(items[i][1])
#导入库
import matplotlib.pyplot as plt
#设定字体,解决无法显示中文的问题
plt.rcParams['font.sans-serif'] = ['MSYH.TTC']
#绘制柱状图,第一个参数为x轴数据来源,第二个参数为y轴数据来源
plt.bar(11,12)
#绘制图像
plt.show()