首页 > 其他分享 >html数据处理

html数据处理

时间:2023-05-29 13:31:47浏览次数:39  
标签:文件 cols filename html 数据处理 row out

实际工作中需要对html文件进行处理,处理要求:

(1)所有的html保存在all目录。

(2)通过python读取all目录下的html文件。

(3)将html文件读取的内容保存在out.html中。

第一个版本程序如下:

import os
from bs4 import BeautifulSoup

# 检查并创建output文件
if not os.path.exists('out.txt'):
    open('out.txt', 'w').close()

# 遍历all目录下的所有HTML文件
for filename in os.listdir('all'):
    if filename.endswith('.html'):
        # 解析当前文件
        with open(f'all/{filename}', 'r', encoding='utf-8') as f:
            soup = BeautifulSoup(f.read(), 'html.parser')
        
        # 获取表格数据
        table = soup.find('table')
        rows = table.find_all('tr')
        data = []
        for row in rows:
            cols = row.find_all('td')
            cols = [col.text.strip() for col in cols]
            data.append(cols)
        
        # 将表格数据写入output文件
        with open('out.txt', 'a', encoding='utf-8') as f:
            f.write(f'-----{filename}-----\n')
            for row in data:
                f.write('\t'.join(row) + '\n')

执行结果后,发现显示效果不好。需要再次优化:

(1)以逗号分隔,带表头文件。

(2)保存为可以识别的mysql格式。

 


标签:文件,cols,filename,html,数据处理,row,out
From: https://blog.51cto.com/simeon/6370301

相关文章

  • java爬虫htmlunit模拟浏览器登录
    介绍刚学到了一种超实用的java爬虫技术htmlunit,先记录一下。htmlunit其实就是一个没有界面的浏览器,操作很简单,就像自己在使用浏览器。本文介绍其简单的几个操作,仅初学了解htmlunit。第一是模拟登录网站,第二是获取网页html源码。准备下载htmlunit的jar包,点击进入官网下载,下载后,里面......
  • 《HTML入门笔记2》
    HTML常用标签分别有:a标签、img标签、table标签、form标签、input标签等。a标签(特别常用)a标签即超级链接,又叫超链接。一个网站通常由多个页面构成,进入网站时首先看到的就是其首页,如果想从首页跳转至其他页面,就需要在首页相应的位置添加超级链接。a标签其基本语法格式如......
  • HTML
    域名---网址服务器---电脑网站网页的组成:1.结构---HTML2.表现---CSSW3C标准3.行为---JSJAVASCRIPT(与JAVA毫无关系)BOMECMA标准WEB1.HTML超文本标记语言2.XHTML可扩展超文本标记语言1.和2.区别?语法上更严格HTML5:HTML的第五次重大修改站点---day1cssimagesjsHTML基础1.命......
  • 前端HTML标签1
    HTML实用合集11.框架使用英文!,按tab键出现框架。2.改标题<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname=&q......
  • HTML中让上下两个div之间保持一定距离或没有距离
    这篇文章主要为大家详细介绍了HTML让上下两个DIV之间保持一定距离或没有距离,可以用来参考一下。1、若想上下DIV块之间距离,只需设定:在CSS里设置DIV标签各属性参数为0div{margin:0;border:0;padding:0;}这里就设置了DIV标签CSS属性相当于初始化了DIV标签CSS属性,这里设置margin外......
  • html基础速成(1)
    <!DOCTYPEhtml>声明为HTML5文档#放在开头<html>页面的根元素#第一层</html><metacharset="utf-8">定义网页编码格式为utf-8(放在<head></head>内)<title>描述了文档的标题</title><head>包含文档元数据</head><body>包含了可见的页面内容<......
  • 第一次写一篇与技术无关的博客-大批量数据处理
    上周接到了一个这样的需求,有几千个xml文件需要解析入库,每个文件里边有三万条数据。解析出来后要按表字段,重新组成需要的数据,不能直接将解析后的json入库。一开始我觉得这个事挺简单的,直接动手写了个demo,用随机选了两个xml文件测一下,没问题,成功入库。从解压xml到最后的数据入库,一......
  • Python 标准类库-因特网数据处理之Base64数据编码
    该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能。它为RFC3548中指定的编码提供编码和解码功能。定义了Base16、Base32和Base64算法,以及事实上的标准Ascii85和Base85编码。RFC3548编码适用于对二进制数据进行编码,以便可以安全地通过电子邮件......
  • html 学习笔记
    目录基础知识斜体强调行内容着重强调空元素插入图片的示例添加超链接属性布尔属性禁用表单输入剖析HTML文档头(head)在搜索引擎中description的使用在头里引用CSS文件在头里引用JavaScript文件创建超链接使用title属性添加支持信息这里有统一资源定位符(URL)与路径(path)快速入......
  • HTML入门笔记1
    一、HTML是谁发明的?1990年TimBernersLee发明了www(worldwideweb万维网),为了方面人们于阅读网页,与此同时自己又发明了HTML、HTTP、URL;用自己写的浏览器去访问自己写的服务器,这就是如今人们上网访问网页的起源和雏形。二、HTML起手应该写甚么?三、常用的表章节的标签h1-h6......