1.詞云圖
詞云圖,也叫文字云鼠冕,是對(duì)文本中出現(xiàn)頻率較高的“關(guān)鍵詞”予以視覺化的展現(xiàn)灾前,詞云圖過濾掉大量的低頻低質(zhì)的文本信息,使得瀏覽者只要一眼掃過文本就可領(lǐng)略文本的主旨珠月。
-
先看幾個(gè)詞云圖
簡(jiǎn)書簽約作者標(biāo)簽詞云
全國(guó)政協(xié)常委會(huì)工作報(bào)告詞云圖
2.推薦幾個(gè)不錯(cuò)的詞云圖工具
Tagul云可以自定義字體扩淀、詞云的形狀(有愛心、BUS啤挎、雪人驻谆、人像卵凑、UFO等),顏色等胜臊,做出來的詞云圖很酷炫勺卢,為網(wǎng)站訪問者提供良好的用戶體驗(yàn)。用戶可以在網(wǎng)站做好詞云圖象对,然后印在衣服黑忱、杯子、鼠標(biāo)墊等地方勒魔,自己設(shè)計(jì)身邊的物件甫煞,感覺很有成就感,很實(shí)用的網(wǎng)站冠绢。
這款國(guó)內(nèi)的在線詞頻分析工具抚吠,在長(zhǎng)文本自動(dòng)分詞并制作詞云方面還是很出眾的,而且也容易上手唐全,還可以自定義定制圖形模板:標(biāo)準(zhǔn)埃跷、微信、地圖等邮利,切換自如弥雹,用起來體驗(yàn)很不錯(cuò)。
這是一款數(shù)據(jù)可視化工具延届,除了詞云剪勿,還有很多其他酷炫的圖表,如GIS地圖方庭、漏斗圖厕吉、瀑布圖、尚的睿基圖等头朱,來了解它們的詞云。工具很容易上手龄减,直接把詞語(yǔ)這個(gè)數(shù)據(jù)拉到維度欄项钮,再選擇詞云就瞬間呈現(xiàn)詞云圖表,BDP會(huì)自動(dòng)算好詞頻希停,你可以設(shè)置顏色烁巫,快速實(shí)現(xiàn)詞云可視化,特別簡(jiǎn)單宠能。
-
Python的擴(kuò)展包wordcloud也可構(gòu)建詞云亚隙。
- 安裝命令
#安裝詞云
pip install wordcloud
#安裝jieba分詞
pip install jieba
1、引入模塊
from wordcloud import WordCloud
import matplotlib.pyplot as plt
2违崇、實(shí)例化一個(gè)詞云
wc = WordCloud()
3阿弃、導(dǎo)入文本
text = open(r"222.txt",encoding='utf-8').read()
4诊霹、生成詞云
wc.generate(text)
5、顯示詞云
plt.imshow(wc)
#導(dǎo)入python畫圖的庫(kù)恤浪,詞云生成庫(kù)和jieba的分詞庫(kù)
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
#讀取txt格式的文本內(nèi)容
text_from_file_with_apath = open('JsIndex.txt').read()
#使用jieba進(jìn)行分詞畅哑,并對(duì)分詞的結(jié)果以空格隔開
wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split = " ".join(wordlist_after_jieba)
#對(duì)分詞后的文本生成詞云
my_wordcloud = WordCloud().generate(wl_space_split)
#用pyplot展示詞云圖。
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
入門可以參考博客python詞云 wordcloud 入門水由,安裝的時(shí)候建議使用依賴包安裝荠呐,我用命令安裝了幾次一直超時(shí)失敗。
3.爬取數(shù)據(jù)砂客,制作詞云圖
1.爬取簡(jiǎn)書首頁(yè)推薦文章標(biāo)題
-
分析網(wǎng)頁(yè)結(jié)構(gòu)通過Xpath篩選我們想要的數(shù)據(jù)有兩種方法
通過谷歌商店的Xpath工具分析結(jié)構(gòu)得到我們想要的數(shù)據(jù)
直接復(fù)制title的xpath泥张,不過我們只能得到這一條數(shù)據(jù),所以還要修改
- 編寫代碼
#-*- coding:utf-8 -*-
#creater 簡(jiǎn)書-_知幾 2017.8.26
import urllib,urllib2,re
from lxml import etree
class CrawlJs:
#定義函數(shù)鞠值,爬取對(duì)應(yīng)的數(shù)據(jù)
def getArticle(self,url):
print '█████████████◣開始爬取數(shù)據(jù)'
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
#定義函數(shù)媚创,篩選和保存爬取到的數(shù)據(jù)
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.reibang.com/'
js = CrawlJs()
content = js.getArticle(url)
js.save(content)
得到我們的數(shù)據(jù)
2.制作詞云圖
- 工具 我使用的是TAGUL 一款在線詞云制作工具彤恶,簡(jiǎn)單易上手钞钙,缺點(diǎn)只能分詞英文,需要導(dǎo)入中文字體声离。
操作:
- Import words , 可以直接粘貼導(dǎo)入文本數(shù)據(jù)芒炼,或者以web url的方式導(dǎo)入。文本數(shù)據(jù)包括關(guān)鍵詞和size术徊。
- 選擇形狀shapes -- 也可自定義形狀圖片
TAGUL提供了一些模板圖形本刽,左邊是分類主題。- 分詞技術(shù)
推薦兩個(gè)分詞工具赠涮,一個(gè)是在線分詞工具 基于深度學(xué)習(xí)的中文在線抽詞-PullWord子寓,另一個(gè)是結(jié)巴分詞(jieba)。
簡(jiǎn)書首頁(yè)推薦文章標(biāo)題詞云圖