【Python】获取网页源码html后,存入SQL时html字段太长了怎么办?

7 篇文章 0 订阅

我们在爬取网页内容时,往往会有几万个字段的html源码,如果存入MYSQL 上,会出现字段太大存入不了的问题。

以下是一些处理这种情况的策略:

1. 使用更大的字段类型:

如果数据库支持,可以考虑将字段类型从 VARCHAR 改为 TEXTBLOB,或者再大一点的文本储存格式:MEDIUMTEXTLONGTEXT。(强推!)

例如,在MySQL中,可以将 VARCHAR(255) 改为 TEXT。

2. 压缩HTML内容:

使用HTML压缩工具或库来减少HTML内容的大小。这可以通过删除多余的空格、注释和优化标签来实现。

htmlmin.minify 是一个用于压缩 HTML 内容的函数,它可以移除 HTML 字符串中的多余空格、注释等,以减小 HTML 文件的大小。这通常用于提高网页加载速度和改善性能。
获取的html如果想要压缩,可以用 htmlmin.minify的方法:

import htmlmin

html = """
<!DOCTYPE html>
<html>
<head>
    <title>示例页面</title>
</head>
<body>
    <h1>欢迎来到我的网站</h1>
    <p>这是一个示例段落。</p>
    <!-- 这是一个注释,将会被移除 -->
</body>
</html>
"""
mini_html = htmlmin.minify(str(html), remove_empty_space=True)
print(mini_html )

#增强版
mini_html = htmlmin.minify(str(html), remove_empty_space=True, remove_comments=True)
print(mini_html )

这里的remove_empty_space=True 参数,表示移除 HTML 中的空格和换行。

如果你还希望移除注释,可以添加 remove_comments=True 参数。

最后注意的是,html最好要化为str格式,然后存入。

3. 清理HTML内容:

可以粗暴地,用replace() 把一些不必要的空格、注释、脚本和样式标签等移除掉。

这种有点像写作文超格子字数的时候,把标点符号跟文字挤在同一个格子的观感。

4. 分块存储:

将HTML内容切割分成多个部分,每部分存储在不同的记录中。这需要在应用程序中进行逻辑处理,以在检索时重新组装内容。

(这种办法后期需要管理好各种表格,完整度不太能保证)

如果实在还是不行的话,要么就用分布式的数据库去存储吧,起码支持的空间大一点。

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值