xxkkbbkk 2022-12-24 12:53 采纳率: 100%
浏览 56
已结题

python 统计各html标签的个数

统计所处理的所有网页文件中的各个HTML标签的出现次数
在屏幕上分行显示出现最多的三个标记及其出现次数

img


底下的函数怎么写呢?

img


写得不太好👉👈,集合里标签的类型有重复,该怎么修改呢?
谢谢!

  • 写回答

1条回答 默认 最新

  • 流比 2022-12-25 00:06
    关注
    
    import re
    from collections import defaultdict
    
    def count_tags(filenames):
        # Initialize a dictionary to count the occurrences of each tag
        tag_counts = defaultdict(int)
    
        # Regular expression to match HTML tags
        pattern = re.compile(r'<[^>]+>')
    
        # Process each file
        for filename in filenames:
            with open(filename, 'r') as f:
                # Read the contents of the file
                contents = f.read()
    
                # Find all the tags in the contents
                tags = pattern.findall(contents)
    
                # Increment the count for each tag
                for tag in tags:
                    tag_counts[tag] += 1
    
        # Sort the tags by count in descending order
        sorted_tags = sorted(tag_counts, key=tag_counts.get, reverse=True)
    
        # Print the top three tags and their counts
        for i, tag in enumerate(sorted_tags[:3]):
            print(f'{tag}: {tag_counts[tag]}')
    
    if __name__ == '__main__':
        # Test with some sample filenames
        count_tags(['file1.html', 'file2.html'])
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月3日
  • 已采纳回答 12月26日
  • 创建了问题 12月24日

悬赏问题

  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择