如何快速统计网站所有页面的文本字数

文章目录

  • 前言
      • 一、WinHTTrack Website Copier是什么?
      • 二、WinHTTrack Website Copier使用步骤
      • 三、什么是Python?
      • 四、Python实现的功能



前言

实现快速统计网站所有页面的文本字数,需要具备两个条件:
1.获取该网站的所有页面的html文件
2.提取html文件中的文本内容
实现如上两个条件,这里我们需要用到两个工具WinHTTrack Website Copier和python




一、WinHTTrack Website Copier是什么?

WinHTTrack Website Copier是一款离线浏览工具,使用它可以很容易地做站点镜像,可以将你指定的网站完整地保存到本地硬盘,能递归创建与源网站完全一样的组织结构,离线镜像创建后,你可以在断网的情况下任意浏览这个网站的所有内容。

二、WinHTTrack Website Copier使用步骤

  1. 打开WinHTTrack Website Copier,下一步
    在这里插入图片描述
  2. “Project name”可以使用网站名称命名,“base path”选择一个路径用来保存下载的文件,点击“下一步”。
    在这里插入图片描述
  3. 在“web addresses”中输入当前网站的URL地址。
    在这里插入图片描述
  4. 点击“Set options”按钮,在“Scan Rules”选项的文本框中根据需要添加相应的规则,这里我添加的是
    -.css -.js
    -.gif -.jpg -.jpeg -.png -.tif -.bmp
    -.zip -.tar -.tgz -.gz -.rar -.z -.exe
    -
    .mov -.mpg -.mpeg -.avi -.asf -.mp3 -.mp2 -.rm -.wav -.vob -.qt -.vid -.ac3 -.wma -.wmv
    在这里插入图片描述
  5. 在“Limits”选项中,“Maximum mirroring depth”根据需要进行设置,这里我设置的数值为10
    在这里插入图片描述
  6. 在“Links”选项中,勾选“Get HTML files first!”选项,点击“下一步”选择“完成”即可开始下载。
    在这里插入图片描述
  7. 需要实现的功能是统计整站网页的字数,因此我们这里只需要下载html文件即可。html文件所在位置为:[base path][Project name][Project name],该路径下的index.html和index文件夹下的所有文件为整站中的所有html。

三、什么是Python?

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。
版本:Python3。


四、Python实现的功能

如下代码实现的主要功能是解析下载到的html文件,将html文件中的文本内容进行提取,并按照字符长度计算文本字数。

# -*- coding: utf-8 -*-import os
import re
from lxml import etreedef traverse_file(read_path, save_path):"""遍历目录下所有文件:param read_path: 读取文件路径:param save_path: 存储结果路径:return:"""for base_path, folder_list, file_list in os.walk(read_path):print('开始遍历{}目录下的html文件'.format(base_path))for file_name in file_list:file_path = os.path.join(base_path, file_name)file_ext = file_path.rsplit('.', maxsplit=1)if file_ext[1] == 'html':  # 判断文件是否为htmlwith open(file_path, 'rb') as f:data = f.read().decode('utf-8', 'ignore')html = etree.HTML(data)pending_html = html.xpath("//body//*[not(self::style)]")  # 不提取style标签中的内容pending_text = pending_html[0].xpath(" //body//*[not(self::script)]/text()")  # 不提取script标签中的内容text = ''.join(pending_text)text_new = text.replace(' ', '')result = text_new.replace('\n', '')print('该网站文本字数为:', len(result))with open(save_path, 'a', encoding='utf-8') as f:f.write(result)def main():# 读取html文件路径read_path = r'D:\data\..'# 结果文件存储目录save_path = r'D:\result\...\result.txt'traverse_file(read_path, save_path)if __name__ == '__main__':main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53091.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小红书代运营 ,小红书运营必备的15个模型1.0版,建议收藏

文/企飞薯 本文一共4983字 大家好,我是小红书代运营圈的主理人的企飞薯。我们一直在研究小红书生态营销。 近年来小红书随着用户体量壮大和平台多元化发展,用户的兴趣点,早已从美妆独大变为渗透生活领域的各个方面。 据小红书最新数据显示&a…

移动软件开发五——仿微信发现界面

2022年夏季《移动软件开发》实验报告 一、实验目标 模仿微信“发现”页创建列表布局,学习使用Textview imageview、LinearLayout 二、实验步骤 1. 搭建开发环境 在此之前我的电脑已经安装并使用过android studio和java sdk 详情参见我大一写的博客 安卓小白实…

用AS实现微信界面设计

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 设计目标一、结果展示二、top.xml三、bottom.xml四、4个fragment.xml五、activity_main.xml六、java文件总结仓库 设计目标 提示:这里可以添加本文要记…

仿QQ聊天软件(登录界面、好友界面、聊天界面)-Java(Swing、Socket)

文章目录 一、项目结构二、项目功能三、制作界面(一)、登录界面的制作(二)、好友列表界面(三)、聊天界面 四、制作服务器五、设计通信协议六、项目缺点 学习了socket通信后,就想来制作一个类似Q…

Android仿微信气泡聊天界面设计

微信的气泡聊天是仿iPhone自带短信而设计出来的,不过感觉还不错可以尝试一下仿着微信的气泡聊天做一个Demo,给大家分享一下!效果图如下: 气泡聊天最终要的是素材,要用到9.png文件的素材,这样气泡会随着聊天…

计算机系统大作业

摘 要 尽管hello程序非常简单,但是为了让它实现运行,系统的每个主要组成部分都需要协调工作,本篇论文就是解释说明在系统上执行hello程序时,系统发生了什么以及为什么会这样。 我们通过跟踪hello程序的生命周期开始系统讲解——…

程序人生-Hello’s P2P

计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 未来技术 学   号 2021112807 班 级 21WL021 学 生 马铭杨 指 导 教 师 史先俊 …

Google reCAPTCHA ----------验证码

现有验证码的产品形态调研范围如下,基本涵盖了比较主流的验证码平台: Google reCAPTCHA极验阿里云腾讯云点触网易易盾螺丝帽FunCaptcha 产品背景 ‍‍reCAPTCHA起初是由CMU(卡耐基梅隆大学)设计,将OCR(光…

关于captcha验证码演示

转载:https://blog.csdn.net/dayonglove2018/article/details/106612549 import com.wf.captcha.SpecCaptcha; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springfr…

使用reCAPTCHA实现验证码

文章目录 HTML代码JS代码Java代码项目开源地址参考资料 HTML代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>登录</title><link rel"stylesheet" type"text/css" href"css/json-v…

手把手教你验证码检验的登录

在网站实际应用过程中&#xff0c;为了防止网站登录接口被机器人轻易地使用&#xff0c;产生一些没有意义的用户数据&#xff0c;所以&#xff0c;采用验证码进行一定程度上的拦截&#xff0c;当然&#xff0c;我们采用的还是一个数字与字母结合的图片验证码形式&#xff0c;后…

如何识别高级的验证码

http://sebug.net/paper/pst_WebZine/pst_WebZine_0x02/html/PSTZine_0x02_0x09.html Ph4nt0m Security TeamIssue 0x02, Phile #0x09 of 0x0A|---------------------------------------------------------------------------| |-----------------------[ 如何识别高级的验证码…

hcaptcha 我是人类验证码怎么跳过怎么验证自动识别

相信这个验证码很多人都见过&#xff0c;这个叫hcaptcha验证码 在网页上偶尔出现&#xff0c;提示需要你证明“我是人类” 这种验证码与谷歌的reCaptcha有异曲同工之处&#xff0c;但是其实hcaptcha与recaptcha是完全不同的产品&#xff0c;不是同一个公司出品的。 这种hcapt…

手把手教你识别FunCaptcha验证码

今天&#xff0c;我们将专注于FunCaptcha&#xff0c;这是一种独特而具有挑战性的CAPTCHA类型&#xff0c;在整个网络上越来越流行。我们将深入探讨FunCaptcha是什么&#xff0c;不同类型的FunCaptcha挑战&#xff0c;如何使用CapSolver解决它们等等。 什么是FunCaptcha&#…

基于openai chatgpt和embeddings制作私有知识库聊天机器人

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、原理、流程二、制作预料库三、制作问答功能总结 如果有问题可以联系我**&#xff1a;https://gitee.com/xiaoyuren/gpt3 前言 在当今信息爆炸的时代&#…

基于 Quivr 搭建个人知识库

目录 Quivr介绍 Quivr特性 Quivr演示 Demo with GPT3.5: Demo of the new version&#xff1a; Quivr实战 Quiv 使用的主要技术 Quiv 实践依赖 创建Supabase项目 部署Quiv项目 第一步&#xff1a;现在源码 第二步&#xff1a;设置环境变量 第三步&#xff1a;执行sql 第…

标书打印分册小技巧

标书打印出来后&#xff0c;一般都有很多本&#xff0c;去打印店胶装标书时&#xff0c;需要把每一本标书分出来&#xff0c;黑帽大师用便签纸就能方便的分出标书。 把便签纸贴在每本标书的最后一页上&#xff0c;这样就能方便的分出每一本了。

学校计算机维护投标书,信息化系统硬件及应用系统安全运维服务投标书范本

这是一份信息化系统硬件及应用系统安全运维服务投标书范本&#xff0c;含运维服务方案&#xff0c;word格式&#xff0c;可编辑&#xff0c;有需要的朋友可以参考学习。 信息化系统硬件及应用系统安全运维服务 本次服务范围为XX局信息化系统硬件及应用系统&#xff0c;各类软硬…

招投标小程序开发功能及源码

一般获取招投标信息的渠道主要有三种&#xff0c;一&#xff0c;来源于官方、正规的政府网站、公共资源交易中心等&#xff1b;二&#xff0c;能提供针对性的招投标信息平台&#xff1b;三是通过个人的人脉资源来获取项目信息。今天我们重点讲下招投标平台怎么运营的&#xff0…

python制作标书_爬取比比网中标标书,并保存为PDF格式文件

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 以下文章来源于CSDN&#xff0c;作者嗨学编程 python开发环境 python 3.6 pycharm import requests import parsel import pdfkit import time 相关模块pip安装即可 …