#1.词云图 词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。
- 先看几个词云图


#2.推荐几个不错的词云图工具
- Python的扩展包wordcloud也可构建词云。
- 安装命令
#安装词云
pip install wordcloud
#安装jieba分词
pip install jieba
1、引入模块
from wordcloud import WordCloud
import matplotlib.pyplot as plt
2、实例化一个词云
wc = WordCloud()
3、导入文本
text = open(r"222.txt",encoding='utf-8').read()
4、生成词云
wc.generate(text)
5、显示词云
plt.imshow(wc)
#导入python画图的库,词云生成库和jieba的分词库 import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba
#读取txt格式的文本内容 text_from_file_with_apath = open('JsIndex.txt').read()
#使用jieba进行分词,并对分词的结果以空格隔开 wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True) wl_space_split = " ".join(wordlist_after_jieba)
#对分词后的文本生成词云 my_wordcloud = WordCloud().generate(wl_space_split)
#用pyplot展示词云图。 plt.imshow(my_wordcloud) plt.axis("off") plt.show()
入门可以参考博客[python词云 wordcloud 入门](http://blog.csdn.net/tanzuozhev/article/details/50789226),安装的时候建议使用依赖包安装,我用命令安装了几次一直超时失败。
#3.爬取数据,制作词云图
###1.爬取简书首页推荐文章标题
- **分析网页结构通过Xpath筛选我们想要的数据有两种方法**


- **编写代码**
#-- coding:utf-8 --
#creater 简书-_知几 2017.8.26
import urllib,urllib2,re from lxml import etree
class CrawlJs: #定义函数,爬取对应的数据 def getArticle(self,url): print '█████████████◣开始爬取数据' my_headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36', } request = urllib2.Request(url,headers=my_headers) content = urllib2.urlopen(request).read() return content
#定义函数,筛选和保存爬取到的数据
def save(self,content):
xml = etree.HTML(content)
datas = xml.xpath('//div[@class="content"]/a/text()')
print datas
for data in datas:
print data
with open('JsIndex.txt','a+') as f:
f.write(data.encode('utf-8')+ '\n')
print '█████████████◣爬取完成!'
#定义主程序接口 if name == 'main': url = 'http://www.jianshu.com/' js = CrawlJs() content = js.getArticle(url) js.save(content)

###2.制作词云图
- **工具 我使用的是[TAGUL](https://tagul.com/) 一款在线词云制作工具,简单易上手,缺点只能分词英文,需要导入中文字体。**
>操作:
>- Import words , 可以直接粘贴导入文本数据,或者以web url的方式导入。文本数据包括关键词和size。
>- 选择形状shapes -- 也可自定义形状图片
TAGUL提供了一些模板图形,左边是分类主题。
>- 分词技术
推荐两个分词工具,一个是在线分词工具 [基于深度学习的中文在线抽词-PullWord](http://www.pullword.com/),另一个是结巴分词([jieba](https://pypi.python.org/pypi/jieba/))。



