需求分析

最近,斗破苍穹的动画第五季正在热播,我的一个好友,在追动画的同时,也对斗破苍穹的小说,产生了浓厚的兴趣,最近在看完小说了以后,产生了一个疑问,他问我说,“我感觉,读小说的时候,好像经常出现恐怖如斯,但是呢,我又说不清楚,到底小说中出现了多少个恐怖如斯,仙草哥哥,你能不能帮帮我,我想知道,小说中到底出现了多少次恐怖如斯呢?”

嗯,没错,对于一个普通读者来说,想要确切的知道,文章中到底出现了多少次某个关键词,可能不是很容易,但是对于一个“爬虫爱好者”来说,这个问题就显得不是很困难了,那么今天,我们就尝试来统计一下,斗破苍穹中到底出现了多少次“恐怖如斯”吧!

实现分析

首先,我们需要确定一点,在统计小说关键词的时候,我们要先得到整部小说。对于一些老的小说来说,可能你在网站上可以直接下载到整本书的txt文件,这自然就是更容易了。但是对于没有现成的txt文件的小说怎么办呢?很简单,只需要通过爬虫程序,就可以实现了

不过呢,我们需要注意的是,小说是有版权的,我们不可以随便的爬取小说,这是一种侵权的行为,因此,我并不会在本篇文章中爬取整部小说,这是不对的行为

import requests
from lxml import etree
from base64 import b64decode# 只需要一行代码就可以得到结果了?真的很酷哦!
print(etree.HTML(requests.get(b64decode("aHR0cHM6Ly9yZWFkLnFpZGlhbi5jb20vY2hhcHRlci8yUjlHX3ppQlZnNDEvTXlFY3d0azVpOElleDBSSk9rSmNsUTIv").decode(), headers={"user-agent": "Mozilla/5.0"}).text).xpath("//div[@class='read-content j_readContent']/p/text()"))

好,现在,我们假设,我们已经得到了整部小说了,那么如何进行关键字的统计呢?当然方法比较多,一种简单的实现是,我们可以将整部小说,保存在一个python的列表之中,每个列表的项,是一章小说的正文,那么在这种情况下,我们只需要遍历这个列表,就可以得到小说中的每一章,然后就可以分别统计每一章中是否出现了关键词了

注意,这不是一个很好的实现,只是一种能够比较容易解决我们当前问题的方法而已!

def doupo_count(kw):# 我们假设,在dl的列表中,已经保存了每一章的内容dl = ["第一章", "第二章", "第三章"]count = 0for i in dl:if kw in i:count += 1print(f"总共有{count}章,出现了【{kw}】")print("常用词统计\n")
doupo_count("斗宗强者")
doupo_count("恐怖如斯")
doupo_count("苦笑一声")
doupo_count("倒吸了一口凉气")
doupo_count("三千青丝")
doupo_count("玉手")
doupo_count("莫欺少年穷")
doupo_count("侥幸而已")

然后呢,我们只需要通过这个简单的doupo_count函数,就可以得到我们想要的结果了

结果展示

那么激动人心的时刻到了,根据以上的程序,我们得到了什么呢?到底有多少章中出现了恐怖如斯呢?

哦,可以发现,斗宗强者总共出现了286章,但是恐怖如斯却只有出现19章,和恐怖如斯同样出现了19章的还有侥幸而已,看来,实际上,恐怖如斯并没有我们想象中的那么多嘛?

看来一部小说中,某个词能给读者留下很深刻的印象,靠的也并不完全是反复重复,在关键的时候出现,或者有这个词语使用的独特魅力,也是能够给读者留下印象的一种重要的方式

在斗破苍穹中,异火是一种非常重要的资源,我们也知道最后在主角通过融合异火,成功突破到斗帝的时候,也是足足用上了全部的23种异火,那么到底是哪种异火比较重要,出现的次数比较多呢?

其实也不难猜测,其中青莲地心火和陨落心炎,才是最重要,篇幅最多的,巧合的是,它们都是正好出现了137章。另外从一开始就在寻找,但是最后才获得的净莲妖火,在整本书中也是具有重要地位的。相比之下,在丹塔期间获取到的三千焱炎火出场的时候反而没那么多,甚至和最后与魂族决战时才出现的虚无吞炎差不多了

哦!值得一提的是,原本属于女主角薰儿的金帝焚天炎,给很多读者留下的印象还是比较深刻的,但是其实它真正出场的次数才只有8章,可能也是在很多时候,描述起金帝焚天炎的时候,只是说金色火焰的缘故吧

主角登场

如果只有文字版本的统计的话,是不是有点枯燥呢?我另外也简单制作了一个图表版本的,用于展示男女主角的登场次数

众所周知,在斗破苍穹中,男主角其实只有萧炎和药尘,其他的并不能算是真正意义上的男主角,但是像冰皇海波东,或者是迦南学院的苏千大长老,也是给人留下了深刻印象的,那么他们到底出场了多少次呢?

哦!可以看到,萧炎作为最重要的男主角,出场的次数几乎是压倒性的多,可以说,几乎每一章中,都有萧炎的出场了。而药老也无愧于第二的男主角,出现的章数足足有569次之多,注意哦,这里还是明确提到了“药老”两个字,还不包括药尘,或者是神秘老人之类的

相比之下,其他的男性角色中,确实也只有前期的冰皇海波东和中期的苏千大长老出现的比较多,都有150-200多章的出场,反而后期五帝破空中的古元和烛坤,出场的次数可以用少得可怜来形容了,尤其是明确提到烛坤的时候,甚至只有18章(这里没包括紫妍父亲,或者是老龙王等)

那么女主角的情况又是如何呢?斗破苍穹中的女主角可是非常之多,而且大多都让人难以忘怀,甚至恨不能让主角把她们全都娶了就好了,很多读者都只为最后没有哪个女主角而感到遗憾

可以看到,在薰儿之外,出场次数最多的反而是小医仙,可惜啊,最后却终究只是朋友。纳兰嫣然的出场次数反而比云韵还要多一些,毕竟在前期的三年之约中占据了很大篇幅,而在几次上云岚宗的过程中,云韵都没有在场,唯一能够让人印象深刻的,也就是从迦南学院杀回云岚宗,毁婚约,救云韵,战云山,师父和老婆双战魂殿强者,最后随着药老被捕而中期结束的剧情了。另外承诺给雅妃姐姐的女王似乎也不了了之了,后期雅妃完全没有出场的机会了

至于紫妍嘛,出场次数比这个应该还要多不少,毕竟紫妍的外号多,小女孩,蛮力王,龙皇等等,虽然贵为萧炎的“寻宝狗”,不过可爱而高贵的性格,也是让很多读者希望,如果能和紫妍在一起就好了,值得一提的是,事实上,原作中的紫妍似乎应该叫“紫研”,但是紫妍的名字明显是更好一些嘛


那么,薰儿,彩麟,云韵,纳兰嫣然,紫妍,小医仙,雅妃,如果是你的话,你会选择谁呢?评论区里告诉我答案吧!

朋友问我,斗破苍穹中到底出现了多少次“恐怖如斯”?相关推荐

  1. 华为二面!!!面试官直接问我Java中到底什么是NIO?这不是直接送分题???

    华为二面!!!面试官直接问我Java中到底什么是NIO?这不是直接送分题??? 什么是NIO 缓冲区(Buffer) 缓冲区类型 获取缓冲区 核心属性 核心方法 非直接缓冲区和直接缓冲区 非直接缓冲区 ...

  2. 后处理程序文件大小的变量_【每日一题】(17题)面试官问:JS中事件流,事件处理程序,事件对象的理解?...

    关注「松宝写代码」,精选好文,每日一题 作者:saucxs | songEagle 2020,实「鼠」不易 2021,「牛」转乾坤 风劲潮涌当扬帆,任重道远须奋蹄! 一.前言 2020.12.23 立 ...

  3. 最近有朋友问我,如何在自媒体上快速发文章?

    我写开始在自媒体上写文章,已经快有两个月了. 最近有朋友问我是如何快速编辑文章,快速发表文章的.今天就给大家简单介绍一下,希望对大家有帮助. 我发文章的流程是,首先使用本地的Markdown编辑器在本 ...

  4. 计算机主机版最重要的部件,电脑配件中到底哪个最为重要

    这段时间有点小忙一直没时间更新,最近很多小伙伴都在问一台电脑中到底哪个硬件最为重要,在选择的过程中能不能先买最重要的部件,其实大家都知道一台电脑主要由内部硬件和外部硬件组成,内部硬件有CPU也就是中央 ...

  5. 刷排名优优软件_朋友问:手机app刷榜排名是什么?

    最近一个朋友问起:经常会在网上看到app刷榜的文章,什么是手机app刷榜排名?这个排名有什么用? app应用市场 在我们的日常生活中,都会看到一些排名的现象.比如十大某某之类的,其实这就是一种排名的方 ...

  6. 朋友问我c++学到哪了 加愤怒的小鸟 要看到最后

    今天一位朋友问我c++学到哪了 我给她一段代码: #include<bits/stdc++.h> #include<windows.h> using namespace std ...

  7. 很多朋友问我:什么是博客?为什么要博客!

    自己搞了这个博客,也推荐给我的同学.好友及各位网友,目的是提高大家对自己的认识!可很多朋友问我什么是博客?为什么博客等类似问题? 今天我就整理了网络上对博客定义及意义帖出来! 什么是博客 博客,数字生 ...

  8. 留学生朋友问我有没有学过《数值分析》

    用Java代码来解答留学生朋友的数值分析问题 前言+说明 原题重现 一. 线性代数求解 二.数值分析LU分解求解 三.LU分解代码实现(java) 前言+说明 ❤️旺仔兄弟们!留学生朋友问的这道题目是 ...

  9. php怎么实现打印预览,JavaScript_js实现局部页面打印预览原理及示例代码,最近有朋友问js 如何打印预览 - phpStudy...

    js实现局部页面打印预览原理及示例代码 最近有朋友问js 如何打印预览,今天就来讲解一下,首先了解一下打印原理,其实局部打印页面很简单.就是把你需要打印的部分做一个起始标记,至于标记如何写,随便你写什 ...

最新文章

  1. Ring Tone Manager on Windows Mobile
  2. windows 下mysql的安装于使用(启动、关闭)
  3. 宝峰uv5r怎么设置信道_极蜂D301对讲机和宝峰UV5R 半月评
  4. hbase官方网站声称的兼容是否是100%兼容?
  5. leetcode - 516. 最长回文子序列
  6. Emmet语法——HTML和CSS快速生成代码/VS code如何快速格式化代码
  7. 给大家发一个DDOS防御包算法公式
  8. mysql执行语句出来全是问号_为什么mysql运行代码后结果栏中的中文全部变成问号?...
  9. properties加载的几种方式
  10. mysql卸载报错1606_MySQL5卸载及重装出错问题记录
  11. VOS3000 8.05安装及源码
  12. 全面质量管理 TQM、六西格玛、CMMI、ISO9000 关系
  13. java中常量池存的是什么_Java中常量池是什么?Java常量池的介绍
  14. 关于笔记本WLAN无线上网
  15. 【转】如何使用visual studio将你的程序打包成安装包
  16. HBuilder 云打包生成 .apk 文件所需的安卓证书如何获取以及文件打包前必须的设置...
  17. 牧月科技完成近5000万元天使轮融资,为无人驾驶货运物流提供解决方案
  18. 工业协议分析1——攻防世界
  19. bootstrap editable有默认值
  20. U盘装系统(Linux)

热门文章

  1. 代码坏味道与重构之霰弹式修改和依恋情结
  2. Java生成SSL证书
  3. 江南春:30年,我用1000亿,换来这99句话
  4. Android开发(一)-发展和历史
  5. 蓝牙BLE芯片PHY6222之I2C主从通信
  6. 计算机房灭火器如何配置,数据中心主机房二氧化碳灭火器选型、计算和配置实例-20210407042437.pdf-原创力文档...
  7. 混沌研习社-《创业反思-成为更加优秀的自己》 百度云下载
  8. Row size too large (> 8126). Changing some columns to TEXT or BLOB… | Mysql / MariaDB
  9. J2ME:手机归属地查询软件
  10. 傻瓜式使用SpringSecurity完成前后端分离+JWT+登录认证+权限控制