文章目录

  • 前言
    • 一、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()

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

  1. 如何统计网站各页面一天内的 PV 和 UV?

    大数据开发最常统计的需求可能就是 PV.UV.PV 全拼 PageView,即页面访问量,用户每次对网站的访问均被记录,按照访问量进行累计,假如用户对同一页面访问了 5 次,那该页面的 PV 就应该加 ...

  2. 网站页面浏览次数代码mysql_php统计网站/html页面浏览访问次数程序

    本文章来给大这介绍了php自己写的一些常用的网站统计代码写法,用无数据库的与使用数据库及html静态页面浏览资次数统计代码,大家可进入参考. 实例1 直接使用txt文件进行统计的代码 代码如下 复制代 ...

  3. 查找窗口隐藏了怎么办_如何快速查找网站管理页面

    很多时候,对任何URL进行扫描以查找其漏洞时,渗透测试者或安全研究人员都会尝试查找管理页面(" admin",控制面板或登录名). 登陆任何网站的任何管理页面是任何网站的严重漏洞. ...

  4. 使用百度统计功能快速统计网站的访问情况

    在网站建设完成后,很多人都希望统计到网站的访问情况,如访问了哪个页面.页面停留时间.访问者的IP地址以及访问设备.访问者所在的省份区域.访问来源等诸多信息,要实现这种功能可以自行编写代码,从http请 ...

  5. php统计网站 / html页面 浏览访问次数程序

    本文章来给大这介绍了php自己写的一些常用的网站统计代码写法,用无数据库的与使用数据库及html静态页面浏览资次数统计代码,大家可进入参考. 实例1 直接使用txt文件进行统计的代码 <?php ...

  6. 巧妙使用Firebug插件,快速监控网站打开缓慢的原因

    巧妙使用Firebug插件,快速监控网站打开缓慢的原因 原文 巧妙使用Firebug插件,快速监控网站打开缓慢的原因 很多用户会问,我的网站首页才50KB,打开网页用了近60秒才打开?如何解释? 用户 ...

  7. 揭秘!如何快速提高网站权重-关键词百度指数叠加

    简介:如何快速提高 网站权重 ?一看标题相信可能很多人就会说标题档.忽悠人的,因为 网站优化 没有捷径.的确,木木也说过做推广优化没有快速的方法,想要排名就得脚踏实地.但是下面要说的方法确实可以快速提 ...

  8. (视频) 《快速创建网站》3.4 网站改版3分钟搞定 - WordPress主题安装和备份

    本文是<快速创建网站>系列的第8篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  9. 宝塔绑定域名访问不了_千字长文教你使用 宝塔面板 快速搭建网站

    本文将教大家使用 宝塔面板 快速搭建网站,云服务器购买 以及 域名注册 部分请自行上网搜索了解,亦可留言联系小编进行咨询.如果是和下方一样本地搭建演示的话,则不需要付费购买域名和主机.宝塔面板 的是 ...

最新文章

  1. 远程usb端口映射_PLC远程控制
  2. 能“看穿”换脸视频背后的AI模型
  3. python dpkt解析ssl流
  4. JSP中文乱码问题终极解决方案(转)
  5. 河南理工大学计算机学院地图,计算机科学与技术0812-河南理工大学计算机科学与技术学院.PDF...
  6. Postgresql数据库主从备份教程
  7. 批量生成印刷字体字库
  8. Spring Batch中面向TaskletStep的处理
  9. 【nodejs原理源码赏析(9)】用node-ssh实现轻量级自动化部署
  10. OpenJ_Bailian 2814 拨钟问题
  11. @JoinColumn 详解
  12. jdk Collections类
  13. 前端例程20211213:网页去色(以灰度形式显示)
  14. 关于iOS7越狱的整理
  15. 技术文档的版本说明格式
  16. 如何研究Android手机上已安装的一个app
  17. Learn Git Branching 学习笔记(基础篇)
  18. 记一次小白调参baseline——NLP中文预训练模型泛化能力比赛
  19. TSN(时间敏感网络)纯干货分享
  20. 关于mplayer dvd seek定位函数dvd_seek_to_time

热门文章

  1. Spring AOP面向切面编程:理解篇(一看就明白)
  2. 用Inno Setup制作以管理员身份运行的安装包
  3. 有哪些好用的蓝牙耳机推荐?盘点2022年四款好用的蓝牙耳机
  4. 大龄测试/开发程序员该怎样延长职业寿命?活在未来,终身学习......
  5. 为什么要读书,有没有替代方法
  6. Unity A星(A Star/A*)寻路算法
  7. linux格式化所有磁盘命令,【转】linux格式化磁盘命令
  8. c语言强制4字节对齐,C语言字节对齐4
  9. centOS虚拟机网络配置(亲身经历小白视角)
  10. python游戏开发工程师证书_【网易游戏游戏开发工程师面试】网易python开发 游戏公共支持-看准网...