Giter Site home page Giter Site logo

picdata's Introduction

PicData(偶尔更新)

介绍

  1. 网页图片批量下载(简单的爬取图片网站[暂时支持四个网站]的图片, 资源内置)-解析html教程-icc_tips -iOS解析html标签内容-OCGumbo
  2. 支持图片预览功能, 因三方库(YBImageBrowser, Bugly等)限制, 拆分两个分支master(只支持iOS端), master_mac(mac分支主要跑mac端)(后期日志以master分支为主)现已合并两分支, 后期统一为master分支
  3. 支持分享(单个文件/文件夹/套图压缩/创建PDF)(可以跟小伙伴分享了/手动狗头) ps: 手机端可以直接分享文件夹, 用AirDrop发送给电脑.
  4. 断点续传(重启app之后, 继续上次未完成的任务)

配置(思来想去, 这个功能有点鸡肋了)

本地下载目录配置(移动端意义不大, Mac端可以考虑修改)

  1. 点击切换到设置标签进行下载目录的设置, 默认是app的Documents/PicDownloads目录
  2. 可以设置mac上的地址, 比如/Users/***/Downloads/PicDownloads全部改成app内部地址, 相对路径(已支持Mac catalyst, mac端也可以下载)
  3. 可以在PDDownloadManager.m- (NSString *)defaultDownloadPath方法中内置一个默认地址
  4. 设置之后, 下载的图片即可保存到这个地址, 按照分类和标题创建文件夹
  5. app已支持压缩分享, 直接文件夹分享和pdf分享, 完美满足导出功能

(注意: 下载之前配置, 下载之前配置, 下载之前配置, 假如下载中配置, 下载到不同的目录下, 找都找不到)

---- 补充 Xcode真机调试获取app的内部文件

真机导出测试app


资源列表

不支持自定义列表 现已支持几个内置网址

运行

  • 拉取代码最新版, 如需修改下载地址, 参考配置下载地址
  • 然后就是正常的项目运行了, 你可以选择一个模拟器, 或者MacCatalyst(需要自己选一下teamID), 然后运行项目
  • Finder打开到下载目录, 试着在app内部点击分类项, 弹出各种套图
  • 如果喜欢某个套图, 你可以点击旁边的下载按钮, 或者点击套图查看详情页面顶部的下载按钮
  • 套图详情页面有网页资源提供的推荐, 你一样可以点击跳转, 很方便, 然后继续下载套图
  • 支持查看下载进度, 当下载套图数量过多时, 或者网络资源有问题时, 可能出现任务堵塞(默认同时最多下载三个套图), 手机端可以长按任务选择重新下载, Mac端可以右击
  • 下载工具已经很强大了(已经优化, 内存方案完美), 但建议不要太快添加任务(常规手速即可), 注意观察输出日志, 或者下载目录文件变化, 尽量一次不要下载太多套图, 不然时间会很长抛弃下载框架, 不保存单个图片的下载记录, 再多任务都不会卡顿, 模拟器是iPhone 11 Pro Max(2020年08月22日15:02:41 目前内存趋于稳定, 不超过60M, 需要进一步观察)

关于更新

  • 本来是放置在蒲公英上面的, 更新接口都准备好了, 因为意外不能这样了(旧的bundleID被封了, 新的没有)
  • 现在app是自己做的托管, 里面的检测更新也改成了请求我自己的服务(建议没有添加开发者的就不要试了, 你们还是用自己编译的吧)

剩下的自己研究吧

加载失败/解析失败

部分页面会不定时更新页面标签(非常少见), 导致页面加载失败的情况, 这边建议联系开发者或者自己有能力的话, 自己解析

欠缺

  • 数据还不够自动化, 假如遇到网页改版, 就可能需要修改代码
  • 进度查看现在已经完美支持查看下载任务及下载进度
  • 数据库多线程操作遇到问题, 没有找到合适的数据库三方, 最好是支持高并发的已经替换数据库为WCDB
  • 详情页面推荐栏显示不出图片(极端偶现)
  • 详情页图片加载动画不优雅, 似有卡顿
  • 看需要, 可以加新的更新接口

待开发

  • 下载目录不能本地配置, 后期考虑设置本地路径, 下载到手机里面或者电脑上的一个目录下 已完成
  • 详情页面不能记住历史, 点击返回就整个导航返回了已经添加上一页功能
  • 添加文件夹打包功能和分享功能已完成
  • txt文件预览已开发
  • 支持分享文件已完成
  • 支持压缩文件已完成, 压缩完分享
  • 一键整理, 子文件夹下没有数据的, 就给它删了支持一键整理, 刷新和收藏整理到一个文件夹下去
  • 手势解锁, 对应数字为9527
  • 一键重命名
  • 分享pdf
  • 网络数据分页加载更多
  • 看图时支持下一套图(当前需要先返回上一级, 再点进来)
  • 在线套图直接跳转到对应的本地文件(如果已经下载)长按在线套图, 支持跳转到文件夹
  • 本地文件夹支持搜索
  • 归档保存本地, 方便归纳整理, 多个zip统一传输
  • 支持查看数据库已完成/ 未完成
  • 标题大爆炸,点击快捷搜索部分支持搜索的网站, 已经支持手动输入关键词, 该需求可以考虑废弃

说再多不如下载运行一下, xcode版本应该没有限制, 正常即可

如有任何问题, 建议联系开发者本人

更新日志(也有可能忘了写日志, 将就看看)

2022年09月24日20:16:21
1. 更新README.md
2. 更新下载UI
3. 支持搜索
4. 修复bug
2022年05月11日21:19:18
1. 支持查看下载列表(已添加, 正在下载, 已完成等)
2. 支持查看单个任务进度, 共多少张, 已下载多少张
2022年04月21日12:03:59
重大更新, 改下载框架为系统下载, 系统下载更健壮
集中三个域名
2022年04月16日12:38:04
Mac端支持键盘切换上下页
enter进入预览, 左右切换上下图, 上下键退出预览
2022年04月13日20:18:53
1. 适配Mac catalyst, 合并分支
2. 提取PicDataSDK
2021年10月28日13:42:09
替换数据库为WCDB, 使app更健壮
2021年10月23日01:30:49
同步mac端代码, 目前iOS端和mac端功能保持一致(部分特殊功能除外)
后期保持同步更新
2021年10月15日21:12:38
支持上拉加载更多
如果有下一页, 则上拉自动加载(首页数据, 搜索结果)
2021年10月12日23:05:34
1. 支持拼接长pdf分享
2021年10月04日22:30:07
1. 支持创建名称带斜线的文件夹
2. 优化重新下载的逻辑
3. 支持一键重命名(网站会在图片前面加前缀, 除去)
2021年09月24日12:09:07
1. 支持手势解锁
2. 更新为较稳定网站
3. 支持简单搜索(未分页)
2021年03月16日23:19:05
最近更新
1. 拆分mac端分支, 代码同步
2. 收藏文件更合理
3. 下载逻辑优化
4. 文件整理功能优化, 支持显示文件夹文件个数和大小
...
2021年01月08日15:21:40
添加了一些新的功能, 比如收藏, 优化界面
2020年11月29日12:34:03
以后不更新了, 没时间了
这个版本足够玩的了, 本来也就是写着玩的
当然应该也没人看我的项目
2020年11月27日16:41:56
支持压缩文件(自定义文件名和密码)到临时目录, 压缩完支持分享
分享完成或者取消分享, 删除临时文件
2020年11月22日12:19:16
支持txt预览, 方便查看页面数据, urls可以复制到小圆点批量下载
2020年11月22日11:49:29
问题: 删除一个文件夹后, 重新下载, 提示任务已存在, 无法继续
结果: 现清除数据之后, 会更新数据库相应任务的状态, 可以重复下载
2020年11月22日09:46:27
支持下载网页大图(之前都是wap小图)
2020年11月21日15:17:50
优化下载逻辑, 目前内存很稳定
2020年11月07日14:48:13
1. 界面更新
2. 手机端下载的图片支持预览了
3. 因为集成了预览模块, mac版本可能不支持了, 后期再想办法
2020年08月22日15:00:22
增加网络资源直接下载功能, 输入url即可下载
增加批量下载功能
频繁操作数据库导致卡死或者闪退的问题还没有研究好, 还是有点问题
只能尽量屏蔽可能频繁操作数据库的地方
2020年08月20日14:04:20
点击套图下载, 开始获取套图的每一张图片, 计数 total, 更新数据库(不计数了, 问题同下)
需要在图片下载之前, 记录下载任务, 状态为0, 下载完成之后, 状态变成1, 并发送通知
传输界面, 显示正在下载的套图, 并记录, downloadedCount
显示进度成 downloadedCount/ total
尝试记录下载图片的进度, 但是遇到数据库插入的时候多线程问题
屏蔽每次下载完成更新数据库的代码, 就没有问题
目前还没有找到合适的数据库三方, 能解决这个问题
2020年08月20日13:59:41
添加几个小页面, 貌似调整了下内存问题
2020年08月02日20:23:36
详情页面添加上一页功能
2020年07月19日16:08:33
添加设置下载地址的功能, 在模拟器就可以设置了
2020年07月18日15:25:12 
添加网络分类, 当本地分类满足不了你的时候, 试试网络分类

picdata's People

Contributors

garenge avatar liuzhangpeng avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

mark-aq

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.