使用 python 进行字数统计

2024-01-14

我用Python写了一个字数统计代码。

我想从以下页面获取每个单词的文本和频率:

问题是我的程序给了我除以每节经文的字数,但我希望它不除。

请帮助我。


import requests
from bs4 import BeautifulSoup
import operator


def start(url):
    word_list = []
    source_code = requests.get(url).text  
    soup = BeautifulSoup(source_code, "html.parser")
    for bible_text in soup.findAll('font', {'class': 'tk4l'}):
        content = bible_text.get_text()   
        words = content.lower().split() 
        for each_word in words:
            word_list.append(each_word)
        clean_up_list(word_list)


def clean_up_list(word_list):
    clean_word_list = []
    for word in word_list:                                  
        symbols = "~!@#$%^&*()_+`{}|\"?><`-=\][';/.,']"
        for i in range(0, len(symbols)):
            word = word.replace(symbols[i], "")               
        if len(word) > 0:     
            clean_word_list.append(word)
    create_dictionary(clean_word_list)


def create_dictionary(clean_word_list):
    word_count = {}
    for word in clean_word_list:
        if word in word_count:
            word_count[word] += 1
        else:
            word_count[word] = 1  
    for key, value in sorted(word_count.items(),key=operator.itemgetter(0)):
        print(key, value)                  


start('http://www.holybible.or.kr/B_NIV/cgi/bibleftxt.php?VR=NIV&VL=1&CN=1&CV=99')


你正在构建一个新的word_count每节经文的字典,然后打印出来word_count只为这节经文。相反,您只需要一个实例word_count.

Update:代码还有其他问题,另外您应该使用正则表达式来删除所有非字母数字字符,另外您应该使用collections.Counter,因为它使您的代码变得更短,而且,作为一个很好的副作用,让您可以检索最常见的单词:

import requests
import re
from bs4 import BeautifulSoup
from collections import Counter


def parse(url):
    html = requests.get(url).text
    soup = BeautifulSoup(html, "html.parser")
    count = Counter()
    for bible_text in soup.findAll('font', {'class': 'tk4l'}):
        text = re.sub("[^\w0-9 ]", "", bible_text.get_text().lower())
        count.update(text.split(" "))
    return count

word_count = parse('http://www.holybible.or.kr/B_NIV/cgi/bibleftxt.php?VR=NIV&VL=1&CN=1&CV=99')
print(word_count.most_common(10))

Output:

[('the', 83), ('and', 71), ('god', 30), ('was', 29), ('to', 22), ('it', 17), ('of', 16), ('there', 16), ('that', 15), ('in', 15)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python 进行字数统计 的相关文章

  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • ipython/ pylab/ matplotlib安装和初始化错误

    我在 OS X El Captain 上安装了 matplotlib anaconda ipython 然而 即使在尝试以所有可能的方式设置环境变量之后 我仍无法启动 ipython shell pylab 版本 这是错误 ImportEr
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class
  • neo4j - python 驱动程序,服务不可用

    我对 neo4j 非常陌生 我正在尝试建立从 python3 6 到 neo4j 的连接 我已经安装了驱动程序 并且刚刚开始执行第一步 导入请求 导入操作系统 导入时间 导入urllib 从 neo4j v1 导入 GraphDatabas
  • NotImplementedError:无法将符号张量 (lstm_2/strided_slice:0) 转换为 numpy 数组。时间

    张量流版本 2 3 1 numpy 版本 1 20 在代码下面 define model model Sequential model add LSTM 50 activation relu input shape n steps n fe

随机推荐

  • 如何通过一条命令执行 SQL 文件并将结果保存到 txt 文件?

    我正在使用 Ubuntu 终端 我找到了有关运行 sql 文件以及如何将查询结果保存到外部文件的答案 我怎样才能同时做这两件事 我试过这个命令 source path to file sql into outfile path to out
  • 如何恢复 HEAD^ 的树?

    tl dr 可以恢复吗HEAD 的树 如果它被删除并且没有事先推送并且其他一切都完好无损 我不小心删除了我的一部分 git 我不完全确定缺少什么 当发现git push没用 我跑了git fsck Checking object direc
  • 转换例如。 2012-05-25 转换为 1970 年 1 月 1 日以来的秒数

    我有一个数据库 可以节省时间time 来自 php 几秒钟后1 jan 1970 有什么办法可以转换 例如2012 12 12至秒后1 jan 1970 我想做这样的事情 SELECT FROM Table WHERE date gt 20
  • Fortran 语言中的睡眠

    有谁知道 Fortran 中休眠指定毫秒数的方法吗 我不想使用不可移植的系统调用 因此 Fortran 或 C 库固有的任何内容都是首选 使用Fortran ISO C Binding使用C库sleep以秒为单位进行睡眠 module Fo
  • 获取用户 Facebook 权限

    我想为我的用户添加 Facebook 权限 我就是这样做的 Session openActiveSession this true new Session StatusCallback Override public void call S
  • 如何将多个视图模型绑定到 MVVM wpf 中的单个 xaml 文件?

    我在 Mainwindow xaml 中有三个网格 每个网格中有多个控件 对于每个网格 我创建了一个单独的视图模型 但在 Mainwindow xaml 中 我可以将 DataContext 属性仅设置为其中一个类 这样只能将数据绑定到其中
  • 如何解决Windows 7上WAMP和Skype冲突? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 为什么需要 OleDbCommand.Prepare()?

    我正在使用一个数据网格和适配器 它们通过存储的查询 名为 UpdatePaid 3 个参数如下所示 与 MSAccess 表相对应 如下所示 OleDbCommand odc new OleDbCommand UpdatePaid conn
  • 如何在 Flutter 插件中添加 OpenCV

    我正在开发一个颤振项目 我必须检测对象的边缘 我搜索了现有的插件但没有找到 我打算使用 OpenCV 进行边缘检测 我从 Android Studio 创建了一个 flutter 插件 这是插件结构 我已经从这里下载了 Android 版
  • 错误!服务器退出而不更新PID文件(/usr/local/var/mysql/`username`.lan.pid)

    我无法摆脱下面的错误 通过安装自制程序 usr bin ruby e curl fsSL https raw githubusercontent com Homebrew install master install brew instal
  • 无法让“npm install -g”在任何包上运行(AppData/Roaming/npm 始终为空)

    在工作中在 Windows 7 Enterprise 上运行 nodejs 每当我安装需要 g 访问权限的 node module 时 根据经验 我知道它应该在中创建一个 bat 文件 AppData Roaming npm 但由于某种原因
  • 纬度/经度与 1 英里的换算是多少 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在使用 Google 地图 并且
  • 增加浅克隆的深度而不获取其他分支

    为了节省磁盘空间 我通常进行浅克隆 最新的远程git标签 https stackoverflow com q 29780641 5353461 默认分支 git clone depth 20 shallow submodules recur
  • 如何将我的node_module、模块添加到package.json中

    我的 node module 文件夹中有一些模块 但因为我是业余爱好者nodejs 当我想安装主题时 我忘记使用 save with npm install 现在我有很多模块但是我的package json是空的所以有什么办法可以添加主题到
  • 从 .NET 中的字符串获取 URL 参数

    我在 NET 中有一个字符串 它实际上是一个 URL 我想要一种简单的方法来从特定参数获取值 通常 我只会使用Request Params theThingIWant 但该字符串不是来自请求 我可以创建一个新的Uri像这样的项目 Uri m
  • 基于右 Kan 扩展的列表

    在 用于程序优化的 Kan 扩展 http www cs ox ac uk ralf hinze Kan pdfRalf Hinze 所著的列表类型的定义基于来自幺半群范畴的健忘函子的右 Kan 扩展 第 7 4 节 论文给出Haskell
  • Android Context.bindService 总是返回 false 并且 ServiceConnection 对象永远不会被触发

    我已遵循本地服务示例 http developer android com reference android app Service html LocalServiceSample由 Google 提供 但我的Context bindSe
  • Python IRC 机器人问题

    我想制作一个机器人 它允许我从 irc 定义函数 并将我的机器人视为 Python 解释器 例如 我想制作一个可以执行以下操作的机器人
  • 尝试从批处理文件中查找并加载信息后收到错误

    我一直在批量进行一些实验 目前正在开始一个小型的文本冒险 但是当我测试保存游戏时 程序返回错误 系统找不到指定的文件 有人可以帮我吗 如果有帮助的话 我在学校电脑上 这是我的相关代码片段 pushd schoolname MyName My
  • 使用 python 进行字数统计

    我用Python写了一个字数统计代码 我想从以下页面获取每个单词的文本和频率 问题是我的程序给了我除以每节经文的字数 但我希望它不除 请帮助我 import requests from bs4 import BeautifulSoup im