结巴分词与词云,简单爬虫——10.28 (python)
Posted godlover
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结巴分词与词云,简单爬虫——10.28 (python)相关的知识,希望对你有一定的参考价值。
bilibili弹幕词云
美国历史词云
JIEBA分词
import jieba txt=" **** " 精确模式: 全模式: 搜索模式: res = jieba.cut(txt) res =jieba.cut(txt ,cut_all=True) res=jieba.cut_for_search(txt) for i in res: for i in res: for i in res: print(i) print(i) print(i) 或者 res = jieba.lcut(txt) res=jieba.lcut(txt,cut_all=True) res=jieba.lcut_for_search(txt) print(res)
词云
1.小段文字的词云
from wordcloud import WordCloud import matplotlib.pylot as plt from imageio import imread txt="小段文字" color_mask=imread(\'图片路径\') wc=WordCloud( width: ** , height: ** , background_color: ** , font_path:r\'c:\\windows\\Fonts\\***\', mask=color_mask ) wc.generate( txt ) wc.to_file(\'cy.pg\') plt.imshow(wc) plt.show()
2.文本文件的词云
from wordcloud import WordCloud import matplotlib.pylot as plt from imageio import imread f.open(\'文本文件名.txt\',encoding=\'utf8\') data=f.read result="".join(jieba.lcut(data)) color_mask=imread(\'图片名.jpg\') wc=WordCloud( height:**, width:**, font_path=r\'c:\\windows\\Fonts\\***\', mask=color_mask ) wc.generate(result) wc.to_file(\'图片名.png\') plt.imshow(wc) plt.show()
案例()
1.爬取bilibili弹幕
import requests from bs4 import BeautifulSoup import pandas as pd imort datetime import re header={ \'User-Agent\':\'*********\' } url=\'http:\\\\comment.bilibili.com/codecid.xml\' #向对方服务器发送请求 response=requests.get(url=url,headers=header) #设置字符码 response.encoding = response.apparent_encoding #获取文本 data=response.txt #解析 soup=BeautifulSoup(data,\'lxml\') #获取所有的d标签 d_list=soup.find_all(\'d\') dlist[] #循环所有的d标签 for d in d_list: danmu={} danmu[\'弹幕\']=d.txt #获取文本信息 danmu[\'时间\']=datetime.datetime.now() danmu[\'地址\']=url dlist.append(danmu) #转换为二维数组,类似于excel表格 df=pd.DataFrame(dlist) f=open(\'sign.txt\',\'w\',encoding=\'utf8\')#打开文件 #循环所有的文件信息 for i in df[\'弹幕\'].values: pat=re.compile(r\'[一-龥]+\')#定义过滤的规则(所有的汉字) filter_data=re.findall(pattern=pat,string=i)#执行过滤操作 f.write("".join(filter_data))#写入文本 f.close()
2.bilibili弹幕分析
import jieba from wordcloud import WordCloud import matplotlib.pylot as plt from imageio import imread f=open(\'sign.txt\',\'r\',encoding=\'utf8\') data=f.read() result="".join(jieba.lcut(data)) f.close color_mask=imread(\'图片名称.jpg\') wc=WordCloud( height=***, width=***, background_color=\'**\', font_path=r\'c:\\windows\\Fonts\\***\', mask=color_mask ) wc.generate(result) wc.to_file(\'bilibili.png\') plt.imshow(wc) plt.show()
————————godlover
以上是关于结巴分词与词云,简单爬虫——10.28 (python)的主要内容,如果未能解决你的问题,请参考以下文章
三分钟学会 Python 中文分词与词云绘制——以豆瓣《至爱梵高》影评为例丨数析学院
R语言实战应用精讲50篇(十八)-R语言实现分词词频与词云案例解析