软件地址
数据库下载地址
源码我就不放了,我发现放了也很少有人会看。
前言(需求)
我经常写一些小软件,但是找图标时间麻烦的事情,阿里云图标网挺好,但是更多是web网站上的应用。我想立刻用到 ico 图片(并且可以控制ico图标大小),所以有了这个软件。
原理
SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。
采用 Python 爬虫,爬取svg原始代码(文本形式),存储到sqlite3本地数据库,然后软件使用c++ qt 写的,使用model-view模式,这个model有下拉加载的功能,否则一下子加载数十万个必然会卡死软件,图片在QtableView中显示使用的代理(委托),软件来使用sqlite3数据库。由于存储的是矢量图,对空间要求很小,目前数据库1.19G, 而图标却有 48万个左右,并且每个图标可以任意缩放,你甚至可以生成1000x1000像素的图标(我软件里面做了限制,否则可以无限放大),图标也不会变得模糊,因为是矢量图。
软件功能
按照名称或分类搜索
生成任意大小的图标
保存png,ico,jpg格式
目前48 万左右个图标
软件使用
首先要下载数据库,然后将数据库放到软件目录里即可。
后续添加数据
软件目录中 download.py 可以向数据库中插入新数据,page.txt 中记录当前页数,防止在不经意间关闭爬取程序后重新开始运行。而网站的更新都是首页是最新的,所以爬取完成可以手动的将其page.txt 改为 0,以便下次爬取(成功插入的话会输出成功),几个字段我联合做了 md5 为主键,防止存储重复数据,如果遇到主键存在的输出,后续也页数也不必在爬了,因为越后面的页数越老。
|