本帖最后由 创造太阳 于 2020-4-9 03:05 编辑
我给女朋友发了20000句情话,她暂时不想听情话了!(详见:女朋友抱怨不会说情话,用python给她发了20000句!让她见识见识情话大全!https://www.52pojie.cn/thread-1113388-1-1.html(出处: 吾爱破解论坛))
女朋友最近不找我下五子棋了!(详见:女朋友下棋比我厉害,还特别嚣张,不能忍。拿python敲个辅助,看她如何嚣张!https://www.52pojie.cn/thread-1116867-1-1.html(出处: 吾爱破解论坛))
不过也没怼我,上次的表情包好像白存了,不过还是留着吧,万一派上用场了呢?(详见:为了防止女朋友怼我,我就先用python爬了3600个怼人表情包等她来战!https://www.52pojie.cn/thread-1118801-1-1.html(出处: 吾爱破解论坛))
也不知道你们找到女朋友了没有,找到的话,一起来交流研究!(详见:别再酸了,女朋友是不可能发,但是可以用python帮你创造机会搞到一个!搞到来告诉我!https://www.52pojie.cn/thread-1119202-1-1.html(出处: 吾爱破解论坛))
女朋友存了好多网上的男明星的照片,我准备用python全部换成我的脸!https://www.52pojie.cn/thread-1120431-1-1.html(出处: 吾爱破解论坛)
为了知道女朋友的小秘密,我用python爬了榜姐微博下60000个女生小秘密!https://www.52pojie.cn/thread-1123043-1-1.html(出处: 吾爱破解论坛)
女朋友每晚都给我发诱惑图,我用python搞了更多诱惑图反击她!https://www.52pojie.cn/thread-1128807-1-1.html(出处: 吾爱破解论坛)
女朋友要和我拼手速,不得不用python让她见识我的手速!年轻人,不要试图和你不知...https://www.52pojie.cn/thread-1139015-1-1.html(出处: 吾爱破解论坛)
为了看看女朋友生日那天是什么样子,我用python爬了一年的照片!https://www.52pojie.cn/thread-1144764-1-1.html(出处: 吾爱破解论坛)
女朋友说A罩杯最流行,我用python爬了几十万的购买数据来证明她是在狡辩!https://www.52pojie.cn/thread-1145712-1-1.html(出处: 吾爱破解论坛)
帖接上回!
在数据面前,女朋友认输了,输的差不多算是心服口服了!(本来我还打算爬一下淘宝、天猫、网易严选什么的,看来不用了)
这次不是因为电影,是因为电视剧《鬼吹灯》!不得不说拍的还是很不错的,选角合适,特效逼真,画面精美,连刷9集!
女朋友看完以后竟然说“胡八一和Shirley妥妥的真爱!”,因为异性相吸,必然真爱!
不得不说男女之间还是有差异的,关注点完全不同呀!
Shirley才出来几分钟呀?满打满算也就5分钟吧,怎么就看出来“妥妥的真爱”?
鬼吹灯的8本书里,明显胡八一的“真爱”明明应该是王胖子才对呀!陪伴才是真呀!
看来只有继续用数据说话,让她在数据面前颤抖吧!
“真爱”:真爱是一个汉语词语,拼音是zhēn ài,指纯粹真诚的情感。之所以叫“真”,即真诚和真实,其是它最基本的基础。它绝不建立在欺骗和幻想之上。真爱,或许每个人都有自己的看法。广义的真爱,与性别无关,与民族无关,与国家无关,与宗教无关,与种族无关。
——来源:百度百科“真爱”词条
代码如下:
[Asm] 纯文本查看 复制代码 import jieba #导入jieba库,以便于使用分词
txt = open("鬼吹灯.txt","r",encoding='utf-8').readlines() #使用open函数打开文件,把文本信息传递给变量txt
txt = "".join(txt) #将变量txt由列表list类型转换为jieba库分词时需要使用的字符串str类型
words = jieba.lcut(txt) #利用jieba库中的lcut()函数来将变量txt中文本进行分词操作,然后将结果传递给变量words
print(words)
counts = {} #定义一个空的字典给变量counts,以用来接收数据进行统计
stop_txt = open("停用词.txt","r",encoding='utf-8').readlines() #使用open函数打开停用词文件,把文本信息传递给变量stop_txt
stop_txt = "".join(stop_txt) #将停用词转变为str格式
stop_words = jieba.lcut(stop_txt) #停用词进行分词处理
#stopwords = [line.strip() for line in open("停用词.txt").readlines()]
print(stop_words)
for word in words: #利用for语句来依次循环获得列表words中的值,并用word来接收
if word not in stop_words: #如果这个词word没有在停用词里面的话,进行下面的语句:
if len(word) == 1: #如果,这个词出现的次数是1次,那么执行下边的语句:
continue #continue语句,跳过循环体中剩余的语句并到循环末尾而强行执行下一次循环
else: #如果,这个词出现的次数不是1,那么执行下边的语句:
counts[word] = counts.get(word,0) + 1 #将代码进行合并,减少代码量,在字典中查找键值word中存储的词,没有的话自动创建这个词为键值,并赋予其对应的值为0,之后再无作用,然后将查询到的词对应的数字+1
counts_items = counts.items() #将字典dict类型变为字典列表dict_items类型,字典中的键值和对应的值变为字典列表中的数据,并将数据传递给变量counts_items
counts_list = list(counts_items) #将变量counts_items由dict_items类型转变为list类型,并用变量counts_list来接收
counts_list.sort(key=lambda x:x[1],reverse=True) #对变量counts_list列表进行排序,key= lambda x:x[1]代表以对象中第二维数据的值进行排序,(lambda用于匿名函数,可以免去命名函数的麻烦),reverse=True代表降序排列,若为False则代表升序排列
for i in range(10):#展示排名前10的词
word,count = counts_list[i]
print("{0:<10}{1:>5}".format(word,count)) #冒号是引导符,后面跟的是格式控制方法。<表示左对齐,>表示右对齐,数字表示宽度。<10表示左对齐,并占10个位置,>5表示右对齐,占5个位置。
词频排序前十运行结果:
我们 4448
胖子 4421
什么 3446
Shirley 2416
没有 2414
一个 2067
就是 1920
咱们 1788
已经 1737
东西 1615
胖子出场次数4421次,Shirley出场次数2416次!
差不多能有2倍了,所以我觉得胡八一的“真爱”应该是王胖子,毕竟陪伴才是真爱啊!
没事多陪陪自己的女朋友吧,少敲点代码吧! |