Python结巴分词计算高频词及TFIDF
用Python写脚本比较挺容易上瘾,呵呵、主要是比较容易忽略SEO这一块,有时会感觉是为了技术而技术,小小感想,小弟做百度seo可能很多人比起来都比较短呢,有时候接一下单子也只是为了保持对这个行业的认知新鲜度,自己也看到很多搜索引擎原理相关方面的书,对写网络引用方面的小程序还算比较顺手,但毕竟非专科,脚本很多时候都很粗糙,但是后面也有人说做seo嘛能用脚本解决问题就好,本来还打算更新学习Javascript这块,感觉时间和精力都不够,苦逼青年啊!另外等博客权重上来,排名上来的话,流量也可以的话再更新一些多一点Python脚本。
结巴分词这个模块很好用,用这个都可以自己写一些关键词分组工具等,对管理词库有很多的帮助,分词,去停止词,提取高频词,去重等SEO词库管理方面的应用,都直接或间接可以利用到结巴分词这个库,具体结巴的函数方法可以去GitHub上自行补脑一下先,下面我直接代码一下:
1 #coding=utf-8 2 import sys 3 reload(sys) 4 sys.setdefaultencoding("utf-8") 5 import jieba 6 import jieba.analyse 7 output=open('words.csv','a') 8 output.write('词语,词频,词权\n') 9 stopkeyword=[line.strip() for line in open('stop.txt').readlines()] #将停止词文件保存到列表 10 text = open(r"new.txt","r").read() #导入需要计算的内容 11 zidian={} 12 fenci=jieba.cut_for_search(text) 13 for fc in fenci: 14 if fc in zidian: 15 zidian[fc]+=1 16 else: 17 # zidian.setdefault(fc,1) #字典中如果不存在键,就加入键,键值设置为1 18 zidian[fc]=1 19 tfidf=jieba.analyse.extract_tags(text,topK=30,withWeight=True) 20 21 for word_weight in tfidf: 22 if word_weight in stopkeyword: 23 pass 24 else: #不存在的话就输出 25 print word_weight[0],zidian.get(word_weight[0],'not found'),str(int(word_weight[1]*100))+'%' 26 output.write('%s,%s,%s\n'%(word_weight[0],zidian.get(word_weight[0],'not found'),str(int(word_weight[1]*100))+'%'))

浙公网安备 33010602011771号