[-Fx-][-GC-] 网页剪贴簿 (WebScrapBook) 0.89

楼主: danny0838 (道可道非常道)   2020-10-31 15:22:00
网页剪贴簿 (WebScrapBook) 0.89
https://github.com/danny0838/webscrapbook
这是传统 Firefox 附加元件 ScrapBook X 的后继版本,
主要功能是忠实撷取网页及管理、加注、编辑、全文搜寻。
跨平台支援 Fx > 57 、Chromium 系浏览器,
及以二者为核心的行动版浏览器,如:
- Firefox for Android
(79 版架构更新无法支援,官方说以后再研究,暂时只能降版用)
- Kiwi browser
- Yandex browser
与 ScrapBook X 对照新功能可参见:https://bit.ly/39JD1B5
前情提要:https://bit.ly/3eovdsJ
继上次报告后主要更新(0.80.1 → 0.89.0):
一些主要的架构问题解决得差不多了,这次就是加入各种花式功能XD
* 重制“撷取所有分页”,现在改成把所有分页加到批次撷取器,可先做各
种设定魔改再开始批次撷取。
同时增加“批次撷取选取的超连结”,是把目前分页选取范围中的超连结
加到批次撷取器,然后一样可做各种魔改再开始批次撷取。
* 增加提示已撷取页面的功能。这个比旧版更强大,除了可以同时侦测多个
剪贴簿,还会用不同颜色区分网址相似程度(全同、路径相同、同站台、
同网域)。
并且增加“检视已撷取的页面”指令,可以查询剪贴簿中所有和目前分页
网址相同或相似的项目(也可以选多个分页一起查询)。
* 网页编辑器增加修改页面标题和视图(viewport)的功能。
在储存按钮的右键选单。
* 侧栏增加项目复制,而且可以跨剪贴簿。
有两种做法,一种是选好要复制的项目后用右键选单的“复制到...”
另一种是开两个剪贴簿视窗(可用“管理”开视窗)用鼠标选取拖放。
* 侧栏增加“搜寻下层项目”,可以选择一或多个项目开出搜寻分页,之后
就在这些项目以下的范围中搜寻。
* 侧栏增加项目排序功能。
* 侧栏增加重新撷取功能。这个也有改良,现在会先送到批次撷取器(可先
做各种设定魔改),重新撷取会存到新的档案路径,然后修改旧项目(主
要是更新修改时间、来源网址、图示等),然后把旧页面的档案移到备份
区(如果不想备份可以在选项中关掉)。
另外也会自动搬移旧页面中的画线和注解,不过因为网页会变,搬注解还
是有可能发生错位或失败(程式会提醒不知道怎么搬的注解,但一些较复
杂的情况还是会被忽略,比如框架页或shadow root里的注解、传统
ScrapBook 的注记等)。在有高人生出更完美的打捞和比对算法以前,
还是不建议太依赖它,如果旧注解真的很重要不能不见,撷取一个新项目
还是比较保险,或者重新撷取后再对照备份页把它们加回去。
应该差不多可以出 1.0 版了吧XD 有几个还在研究的细节再跟大家征询一下:
1.深层撷取:这个目前研究的结论就是水很深,所以可能在 1.0 版还暂时
不会实做,未来有机会再扩充XD
主要是因为要循环侦测页面连结的页面并且在全部撷取完以后回去重建所
有连结,本身就相当复杂,加上现代网页比以前更复杂,加上新浏览器套
件是 multi-process 架构,难度又比传统 ScrapBook 更高。
另外,一次抓取大量页面也会造成内存容易爆炸,储存成资料夹还比较
简单,但 WebScrapBook 也支援储存成压缩档或单一网页,这就有可能直
接爆炸。所以如果要做,可能暂时只支援储存成资料夹。
传统 ScrapBook 还支援站台地图,但当时用的 XML 架构目前也不太方便
使用,所以也要想个替代方案。
还有,深层撷取的页面如果重新撷取,要怎么处理,也是一个问题。传统
ScrapBook 是直接抓档案取代子页,但如果有资源档更新,那也会影响到
其他没重新撷取的页面,造成不一致。像 HTTrack 之类砍站软件都要用
一套很复杂的机制去处理侦测新内容和更新哪些旧内容的问题,总之就是
炒鸡复杂。
现阶段就暂时用批次撷取把各页面分别存成不同项目吧XD
2.重新撷取:如前所述,目前应该大致解决了。如果还有什么不满想许愿的
就回馈一下XD
3.汇入、汇出:目前还没想出合适的实做方案,可能会直接放弃,用跨剪贴
簿复制取代。
主要是因为新的浏览器架构不允许像传统 ScrapBook 直接随便选一个资
料夹作为汇入、汇出使用,再者如果服务器架在远端,汇出的大量档案
要如何放到本机也是个问题...
另外是因为新的架构比较灵活,汇出的大量项目要如何汇入并还原原貌会
有一些困难。目前写的 import/export 命令列工具有处理了一些问题,
但还是会有少数情况无法100%还原原来的树状结构。
如果从功能考量,我目前想到以往汇入、汇出的主要用途大概是:
(1) 把一些项目从一本剪贴簿转移到另一本
(2) 把一些项目备份起来,供未来必要时还原
(3) 把个别项目存成一系列档案,让没有安装 ScrapBook 的人能够一个
一个开来看。或者用转换程式转档后移作它用。
对于 (1),跨剪贴簿复制基本上可以完全取代,且操作起来更简单。
对于 (2),跨剪贴簿复制也可以取代九成,只要多开几本备份用的剪贴簿,
把要备份的项目移过去就好。比较细微的差异是 ID 和档名可能会变(跨
剪贴簿复制时,如果目标剪贴簿没有相同 ID,会优先沿用原 ID,否则自
动产生一个新的。档名则是根据 ID 自动产生相配的档名)。
(3) 可能是相对比较没办法照顾到的。如果目的是让没有安装 ScrapBook
的人看,弄成另一本剪贴簿并产生静态站台页面或许会更好看?
而如果要转档,就变成要改写转档程式以支援读取 ScrapBook 的数据库。
转档有很多种,有的是把整个剪贴簿转成其他格式(例如 chm、epub),
有的是针对剪贴簿里的个别项目(例如 maff、zip?),前者不要汇出(
汇出了反而无法处理),后者似乎也非无法解决(例如输入剪贴簿及要转
的项目列表给转档程式)。
反过来说,也有把其他档案转成剪贴簿汇出格式以便汇入的情况,如果
不实做汇入汇出,就要改转成一个新剪贴簿,再用跨剪贴簿复制的方式
移到其他剪贴簿了。
还有没有汇入汇出其他用途是跨剪贴簿复制无法cover的?
4.传统 ScrapBook 的笔记:传统 ScrapBook 有提供写笔记的功能,但是
它建立的是一种像纯文字又像 HTML 的奇怪产物。自从有 ScrapBook X
的笔记页面以后我几乎没在用它了,目前也还没想到 WebScrapBook 要
怎么处理它们...
现行做法是对用转档程式转换的传统 ScrapBook 笔记写了一个简单的
纯文字检视/编辑接口,但只是作为向下相容,本身不提供建立这种传
统笔记项目的功能。如果没有新构想,大概就会继续这样...
欢迎还有在使用这种传统笔记的提供意见,看有没有可以让它实用化的
改造方案。
5.传统 ScrapBook 的合并检视、合并精灵:这两个功能也是水比较深,
而且私心觉得比较次要,目前倾向不做。(当然,传统版转来的还是
可以看。)
合并检视(资料夹右键选单里有)会把资料夹下的所有页面合并开在
一个分页里检视,照理说每个页面都会完全展开,不会有卷轴,不过
由于网页架构复杂,个别页面的写法可能会导致还是有自己的卷轴。
这功能如果硬要实做,应该也做得出来,但就是感觉没很实用(相较
于直接选择多个项目开新分页)。不晓得还没有有人在使用的,请提
供点意见XD
合并精灵也是水超级深,因为现代网页标准很复杂,要把多个页面无损
合并成一个非常难,而且 WebScrapBook 现在支援多种档案格式,如果
一个项目是资料夹而另一个项目是压缩档,要怎么合并?合并后储存成
哪种格式?都是非常复杂的问题…。
而传统 ScrapBook 用合并精灵合并的页面也会损失原来的资讯(例如
个别页面的撷取时间、评注等)(当然会用合并的人可能是觉得那些资
讯丢掉没差),如果要保存原貌,基本上保留原来的多个页面就可以了
,虽然可能麻烦一点点,但影响似乎也不大?
欢迎还在使用的人提供一些想法囉~
这几个问题决定好了就可以出 1.0 了 ^_^
作者: sdbb (帮我泡杯卡布奇诺)   2020-10-31 20:38:00
头推
作者: Altair ( )   2020-10-31 20:49:00
辛苦了
作者: hsparrot (飞高高)   2020-11-03 00:26:00
推~

Links booklink

Contact Us: admin [ a t ] ucptt.com