【发布时间】:2021-01-25 05:46:47
【问题描述】:
我有一个 python3 爬虫,可以连接到目标站点并保存所有 html 和资源。虽然我在保存之前使用 gzip 进行压缩,但它会消耗太多空间,而且我通常会在不到一半的网站页面被抓取之前达到我配置的空间限制。
关键是同一个网站的所有页面都有很多公共字符串(甚至有些网站在所有 html 页面中都包含诸如 css 之类的资源,而不是链接)。然后我的想法是为同一个网站保存公共字符串。我以为这种优化会被记录在案,但我没有找到任何相关信息。
虽然我有这个想法,但我不知道如何实现这种算法。任何帮助将不胜感激。
【问题讨论】:
-
为什么要获取 CSS 之类的资源?我的意思是,HTML 足以获取数据。我已经爬取了超过 15K 的 HTML 页面,每个 HTML 页面只有 100-200KB
-
否则,为爬虫做一个检查点对于连续处理来说并不是一个坏主意
-
@TấnNguyên 通常它们并不重,但我见过一些超过 1.5MB。我需要 css 来获取我也想抓取的主要背景图像。
-
如果您只需要 css 来处理一些事情,将它们解析出来并仅存储相关位比压缩或重复匹配更有帮助。
-
你试过
xz压缩吗?有时它比gzip好得多
标签: python python-3.x optimization web-crawler