[-Fx-][-GC-] 網頁剪貼簿 (WebScrapBook) 0.89

看板Browsers (瀏覽器)作者 (道可道非常道)時間3年前 (2020/10/31 15:22), 3年前編輯推噓2(200)
留言2則, 2人參與, 3年前最新討論串1/2 (看更多)
網頁剪貼簿 (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 了 ^_^ -- 《終結內容農場》瀏覽器套件 Chrome: http://bit.ly/CFTGC Firefox: http://bit.ly/CFTFx (桌機 & Android 手機) 真相1: http://bit.ly/CFTss1 真相2: http://bit.ly/CFTss2 詳細介紹:http://bit.ly/CFTinfo -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.15.1 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Browsers/M.1604128924.A.6AD.html ※ 編輯: danny0838 (59.115.15.1 臺灣), 10/31/2020 15:23:34 ※ 編輯: danny0838 (59.115.15.1 臺灣), 10/31/2020 16:28:51 ※ 編輯: danny0838 (59.115.15.1 臺灣), 10/31/2020 19:22:20

10/31 20:38, 3年前 , 1F
頭推
10/31 20:38, 1F

10/31 20:49, 3年前 , 2F
辛苦了
10/31 20:49, 2F
文章代碼(AID): #1VdH2SQj (Browsers)
文章代碼(AID): #1VdH2SQj (Browsers)