jieba分词运用实例

用jieba抓取网络小说中的关键词

挑选了这么几本: 当年看过的小说
哈哈,因为我比较懒,就只下载了这几本小说,又因为我现在很菜,所以没有用爬虫.

import os
import jieba.analyse as analyse
import time
#这里是一个计时功能的实现
begin=time.time()
#这里是网络小说所在的父目录
fatherdir="D:/Project44/网络小说"
#获得所有书名组成的list,一个个打太麻烦了
booklist =os.listdir(fatherdir)
#这个文档存放关键词的结果
resultFile=open("D:/Project44/关键词结果.txt","w")
#这里限定了抓取的关键词的词性,但是结果其实聊胜于无
kwordkind=('vd','vf','vx' ,'vi' ,'vl','vg','ad','ag','al' )
for book in booklist:
    bookcontent=open(fatherdir+"/"+book,"r",encoding="utf-8").read()
    #抓取关键词有两个方法,但是那个textrank方法总是报错
    kwordstr = ",".join(analyse.extract_tags(bookcontent,topK=150,allowPOS=()))
    #这里的代码是最后一版的,抓得最多
    resultFile.write(book+"的前150个关键词为:"+"\n"+kwordstr+'\n\n')
end=time.time()
span=round(end-begin,2)
resultFile.write("共用时"+str(span)+"秒"+"\n")
resultFile.close()

下面上结果:
最后一遍(有几本小说出现了编码问题,我就把他们删了,但是以前的版本可能还能看,大家可以看底下的纠结过)
在这里插入图片描述
第三版(100个关键词):
在这里插入图片描述
可见,从出现次数比较多的关键词中是可以对小说内容有一个初步认识的,比如作者的文风,小说的主题,小说的主角(包括女主角甚至男配角).

综上,本程序的可改进空间还是很大的:
用爬虫替代下载,编码问题来几个try catch,真.词性筛选等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值