Rescoll 采集程序聚合平台

Rescoll 可能是下一个我将着手去开发的项目,这将是 Nacollector 的延续。

意在构造一个 采集程序(爬虫) 的聚合平台,用户能够轻松地找到并使用爬虫,开发者也能很方便地将 Rescoll 作为框架,进行爬虫的开发。

目前,如果想找到想要的爬虫程序,可以在 GitHub 上搜索,但在使用前则需先浏览说明文档,写配置文件;不同语言编写,需准备指定的环境,以及安装依赖;采集数据格式不统一,目录结构不统一,使用数据方式不一致;更新操作繁琐……

聚合平台即是让爬虫的下载和使用,就像 Xposed, Magisk, Tampermonkey, Chrome Extension 一样方便。

以下是将来可能会做的:

  1. 注册域名,新建网站 Rescoll Market
  2. 简化 NacollectorFrontend 代码,做到能轻松移植,增强可拓展性(脱离后端使用)
  3. NacollectorFrontend 使用 TypeScript 编写
  4. Rescoll 将和 Nacollector 共用前端界面,需为新的后端代码提供有利条件(增强前端代码的独立性)
  5. Rescoll 官网,介绍页,爬虫下载页(类 npm.js,greasyfork),开发者后台(登录/注册/发布/更新)
  6. Task.js 之类的 原本工厂模式 return { } 改成 module require
  7. 整理、分离 css 代码,整理 class 命名
  8. 将 taskGen 创建表单依据 obj(原本写死在代码里)改成格式统一的 json 配置文件,单独分离
  9. 思考 模块化载入 (爬虫) 如何去执行,eval? (待参考 VSCode 插件原理等)
  10. 模块化载入,热加载 / 热更新
  11. 如何才能平缓地,渐进式,将 C# 程序改为 JS 程序(使用 Electron.js)
  12. Electron.js API 做的下载任务管理器,和原来的 CefSharp 下载管理器怎么共用相同前端
  13. 任务执行时,更多对用户更友好的 UI,如加一个列表,进度条之类的(现在只是 Terminal 实时输出执行情况)
  14. 开发者写以 Rescoll 为框架的爬虫时,如何做到让编辑器能够友好地进行代码提示(autocomplete)参考 DefinitelyTyped / @types/lodash
  15. 写 API 文档给开发者看
  16. i18n 多语言支持
  17. 数据采集结束后 数据浏览器(用于展示采集到的数据。列表、瀑布流、统计图、播放器、加密保险箱…)
  18. 用户自定义:采集目录、文件名、采集到指定位置(保存于 sql 数据库中)、文件类型(json, XML 等),影响全部下载的模块 (爬虫)
  19. 开发者写模块,统一提供 json 作为 创建表单依据(见第 8 条)
  20. Cookie 获取 / 管理器
  21. 完全潜行数据采集模式(做成单独模块,可供下载,可卸载,可更新)
  22. 页面请求嗅探器(也是做成单独模块)
  23. POST/GET/PUT 请求模拟器(模块)
  24. 多线程分段下载器,百度云盘下载(模块)调用 Aria2
  25. 登录凭证管理器
  26. 小说通用采集器(模块)
  27. 是否可以实现 模块间 的耦合(互相调用,重用,数据共享…)
  28. GitHub 仓库像 Scoop Bucket 【In Scoop, buckets are collections of apps. Or, to be more specific, a bucket is a Git repository containing JSON app manifests which describe how to install an app.】一样管理模块???开发者发起 pull request,对自己编写的爬虫进行发布(pull request 变更内容:自己代码 git 仓库地址)。Rescoll 官网定时获取 github 仓库数据,缓存下来(解决大陆 github 访问慢问题)供用户下载使用
  29. 类似 go get 的方式?从 Github 直接将远程包下载下来 import
  30. ~ ~ ~
本站文章除注明转载外均为原创,未经允许不要转载哇. ヾ(゚ー゚ヾ) http://qwqaq.com/cb95a9c8.html
分享到