Python脚本比较粗糙,将就用,对于做百度seo本渣渣知道有千奇百怪的做法,也知道只用火车头和cms有做出相当可观的流量,至于seo是否要学编程,如python,php,ruby,java之类,见仁见智,只能说技多不压身,python现在应该是个大趋势!
结巴jieba分词这个模块很好用,用这个都可以自己写一些关键词分组工具等,对管理词库有很多的帮助,分词,去停止词,提取高频词,去重等SEO词库管理方面的应用,都直接或间接可以利用到结巴分词这个库,具体结巴的函数方法可以去GitHub上自行补脑,终于凑够字数,下面还是说说说流程:
安装说明
全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba
半自动安装:先下载 https://pypi.python.org/pypi/jieba/ ,解压后运行 python setup.py install
手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录
通过 import jieba 来引用
代码实例python2.x
#coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import jieba
import jieba.analyse #导入结巴jieba相关模块
output=open('words.csv','a')
output.write('词语,词频,词权\n')
stopkeyword=[line.strip() for line in open('stop.txt').readlines()] #将停止词文件保存到列表
text = open(r"new.txt","r").read() #导入需要计算的内容
zidian={}
fenci=jieba.cut_for_search(text)
for fc in fenci:
if fc in zidian:
zidian[fc]+=1
else:
# zidian.setdefault(fc,1) #字典中如果不存在键,就加入键,键值设置为1
zidian[fc]=1
#计算tfidf
tfidf=jieba.analyse.extract_tags(text,topK=30,withWeight=True)
#写入到csv
for word_weight in tfidf:
if word_weight in stopkeyword:
pass
else: #不存在的话就输出
print word_weight[0],zidian.get(word_weight[0],'not found'),str(int(word_weight[1]*100))+'%'
output.write('%s,%s,%s\n'%(word_weight[0],zidian.get(word_weight[0],'not found'),str(int(word_weight[1]*100))+'%'))
逻辑思路
安装和导入结巴模块
通过jieba.cut_for_search分词
结合利用数据类型中的字典dirt计算词频
计算tfidf也是一行代码的事情jieba.analyse.extract_tags
快快利用结巴jieba分词计算高频词及TFIDF去做点什么吧!