python下载巨量文件时,怎么分类文件夹好?
本帖最后由 onlyclxy 于 2021-11-9 14:52 编辑问下大佬们:比如用python爬取10w张图片, 要是这10w张图片全部下载到一个文件夹里,那打开图片基本上就卡死了.PS:现在我电脑里已经有这么个10w张图片的文件夹了,太酸爽了.
然后怎么给这些图片分类到不同的文件夹好呢?
遇到的阻碍1: 为了避免下载到重复文件, 所以会在下载之前,检测文件夹里有没有这个文件.如果检测到有这个文件, 就跳过本条下载.当全部图片在这一个文件夹里时, 这个方法就特别好用. 可以直接检测这个文件夹里有没有要下载的这个图片文件名. 可以有效避免下载到重复文件. 但是文件量大了就难受了
遇到的阻碍2:如果说我每过100张图片就新创建一个文件夹. 那么问题来了. 那么在下载新的图片之前,就不好知道本地文件夹里有没有存在这个图片了.(因为不知道存在多少个文件夹) 如果要是每次下载前都遍历扫描一遍磁盘, 有点太浪费资源
遇到的阻碍3:如果说找一张表,下载了就勾选, 那么可能会遇到一些文件被以后误删了. 然后表里勾选已经下载, 那么这个文件就没法补全了.
遇到的阻碍4. 如果说按照网页自身的分类创建对应的文件夹,也不妥. 万一网页以后改分类, 那么可能就会新建一个文件夹. 到时候就会又下载到重复的文件.
所以大佬们对于这件事情.. 有没啥好点的经验给分享一下呢.. 非常感谢!
4可解决1、2
能否找到文件固有的共性进行分类呢?(文件名字?后缀?等等)
并不一定按照网站分类,而且网站分类应该也不容易变吧?
我当时爬pixiv图是按照画师或日期分的,这些特征比较明显且稳定哈哈。如果真没什么特征那就看其他大佬的吧 用哈希分,比如哈希值第一位是1的分一个文件夹,第一位是2的分一个……文件数量多可以再增加层级。
缺点分出来的文件夹索引困难,可以再加个sqlite 3楼说的对,使用哈希分,可以避免重复。但是索引困难 剑来…… 发表于 2021-11-9 08:31
3楼说的对,使用哈希分,可以避免重复。但是索引困难
可以当独建一个索引文件来快速查看 小白路过,谢谢分享经验,讨论有益。 每下载一张就加数据库,解决所有。 楼上正解。入库解决一切重复。 用列表查看不就行了?才几万个图片就卡?不开缩略图就行 mscsky 发表于 2021-11-9 10:04
用列表查看不就行了?才几万个图片就卡?不开缩略图就行
这次不是缩略图的事, 实测xnview打开一张照片会卡住10分钟. 但是卡完了可以点下一张
别的看图软件集体阵亡. 无法点查看下一张图片