伊人成色综合人夜夜久久
你的位置: 精品少妇牲交视频大全 > 伊人成色综合人夜夜久久 >
在粉丝群内部,我屡次强调爬虫不要把网页源代码存入数据库,但仍是有许多同学这么做。源代码动辄几十 KB 致使几 MB,存放到数据库内部会严重拖慢性能。
如若你非要储存源代码,那么你不错使用 Hive 粗略对象储存来存放。
如若你不得不尔,必须用数据库来存放,那么你至少应该对HTML 进行压缩。闲居咱们赓续传奇使用 winrar/7zip/tar 这些压缩器用来压缩文献粗略文献夹,那么咱们怎样压缩字符串呢?
Python 自带了两种压缩神气:zlib和gzip。
咱们先来望望我的博客首页有多大:
import requests html = requests.get('https://www.kingname.info').text with open('kingname.html', 'w') as f: f.write(html)
生成的kingname.html文献,有82KB,如下图所示:
当今, 国产精品久久久久精品小草咱们使用zlib来对 HTML 进行压缩,然后把压缩后的本色写到文献,咱们来望望数据有多大:
import zlib import requests html = requests.get('https://www.kingname.info').text html_compressed = zlib.compress(html.encode()) with open('kingname_zlib', 'wb') as f: f.write(html_compressed)
生成的文献大小唯有16KB,如下图所示:
压缩以后体积酿成了底本的五分之一,省俭了渊博的磁盘空间。需要防范的是,伊人成色综合人夜夜久久zlib.compress的输入参数是bytes型的数据,输出亦然bytes型的数据。况兼,输出的数据是不行解码成字符串的,是以在写文献的本事,必须使用wb神气写入。如若你用的 MySQL 的话,需要把字段的类型设立成blob。
要解压缩也相称轻便,使用zlib.decompress就不错了:
import zlib with open('kingname_zlib', 'rb') as f: html_compressed = f.read() html = zlib.decompress(html_compressed).decode()
除了zlib外,咱们还不错使用gzip这个自带的模块来压缩字符串。用法真实一模相同:
import gzip import requests html = requests.get('https://www.kingname.info').text html_compressed = gzip.compress(html.encode()) with open('kingname_gzip', 'wb') as f: f.write(html_compressed)
压缩以后,文献大小亦然16KB:
在坐褥技俩中,除了Python自带的这两个压缩模块,还有可能会使用Snappy进行压缩。他的压缩速率相称快,比zlib和gzip都快。压缩率也很高。但安设起来相比疼痛,领先需要安设Snappy法子,然后再安设python-snappy库才略使用。有有趣的同学不错搜索了解一下。
纪念:是非不提出使用数据库来存放网页系数源代码。如若非要使用,要压缩以后再存。