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

我们在爬取网页内容时,往往会有几万个字段的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 = """



    示例页面


    

欢迎来到我的网站

这是一个示例段落。

"""
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内容切割分成多个部分,每部分存储在不同的记录中。这需要在应用程序中进行逻辑处理,以在检索时重新组装内容。

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

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

你可能感兴趣的:(python,sql,sql,数据库,html,网络爬虫)