博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬取李白和杜甫诗集,并处理,分类,预测
阅读量:3898 次
发布时间:2019-05-23

本文共 1584 字,大约阅读时间需要 5 分钟。

import reimport requestsimport jiebafrom bs4 import BeautifulSoup as bpfrom nltk.classify import NaiveBayesClassifier# 爬取李白和杜甫的诗集urls = ['https://so.gushiwen.org/authors/authorvsw_b90660e3e492A{}.aspx','https://so.gushiwen.org/authors/authorvsw_515ea88d1858A{}.aspx']author = ['李白','杜甫']for index,url in enumerate(urls):    file = open('{}.txt'.format(author[index]),'w',encoding='utf8')    longstr = ''    for n in range(1,21):        urlp = url.format(n)        r = requests.get(urlp,)        bs1 = bp(r.text,'lxml')        contsons = bs1.select('div .contson')        for conston in contsons:            longstr += re.sub('\s|[,。]','',conston.text)    file.write(longstr)    file.close()text1 = open(r"李白.txt", "rb").read()list1 = jieba.cut(text1)text2 = open(r"杜甫.txt", "rb").read()list2 = jieba.cut(text2)# 数据准备libai = list1dufu = list2# 特征提取def word_feats(words):    return dict([(word, True) for word in words])libai_features = [(word_feats(lb), 'lb') for lb in libai]dufu_features = [(word_feats(df), 'df') for df in dufu]train_set = libai_features + dufu_features# 训练决策classifier = NaiveBayesClassifier.train(train_set)# 分析测试sentence = input("请输入一句你喜欢的诗:")print("\n")seg_list = jieba.cut(sentence)seg_list = [seg for seg in seg_list]# 统计结果lb = 0df = 0for word in seg_list:    classResult = classifier.classify(word_feats(word))    if classResult == 'lb':        lb = lb + 1    if classResult == 'df':        df = df + 1# 呈现比例x = float(str(float(lb) / len(seg_list)))y = float(str(float(df) / len(seg_list)))print('李白的可能性:%.2f%%' % (x * 100))print('杜甫的可能性:%.2f%%' % (y * 100))

转载地址:http://jeben.baihongyu.com/

你可能感兴趣的文章
Java中普通代码块,构造代码块,静态代码块区别及代码示例
查看>>
iOS 第4课 UILabel
查看>>
[已解决]junit.framework.AssertionFailedError: No tests found in
查看>>
“服务器端跳转”和“客户端跳转”的区别
查看>>
Datatables基本初始化——jQuery表格插件
查看>>
Servlet监听器——实现在线登录人数统计小例子
查看>>
Oracle笔记——简单查询语句 Oracle入门
查看>>
基于Hibernate和Struts2的用户管理系统小案例
查看>>
打开.class文件的方法
查看>>
基于windows平台Git+GitHub+Hexo搭建个人博客(一)
查看>>
基于windows平台Git+GitHub+Hexo搭建个人博客(二)
查看>>
Windows平台下SVN安装配置及使用
查看>>
python简便的编辑工具:jupyter notebook
查看>>
使用pip安装的时候出现 ModuleNotFoundError: No module named ‘pip‘
查看>>
Selenium自动化测试(八)之上传文件
查看>>
Selenium UI自动化(Java篇)
查看>>
使用Fiddler模拟弱网进行测试
查看>>
使用POI读取Excel测试用例
查看>>
记一次数据推送的异常解决端口解决
查看>>
linux、mysql、nginx、tomcat 性能参数优化
查看>>