技術細節
它如何運作,以及它在哪裡停下
這裡沒有任何魔法。擷取流程從不呼叫伺服器;擴充功能唯一會連線的位址是我們的統計端點。整個流程在你正在看的頁面中執行,只需要幾十毫秒。
找到文章
擴充功能首先尋找文章通常所在的明顯容器。沒有這種容器時(很多真實網站確實沒有),它就改為測量文字密度:哪個區塊包含最多不在連結中的段落文字。仍然包含幾乎全部這些文字的最窄區塊勝出。
文字大多是連結文字的區塊,是選單或資訊流,不是文章,會被排除;除非它包含超過約 1200 個字元的真實文字,因為長文章本來就可能含有許多連結。
移除頁面雜物
接著移除已知的非內容元素:導覽列、橫幅、分享列、Cookie 通知、分頁列、「延伸閱讀」資訊流和標誌列。重複的行會被移除,因為在每個段落重複出現的導覽,是擷取頁面中最大的單一雜訊來源。
其他擷取工具保留的內容
[跳到主要內容](#main) [登入](/login) [註冊](/register) [首頁](/) [新聞](/news) [體育](/sport) [文化](/culture) [更多](/more) 我們使用 Cookie 及類似技術來改善你的使用體驗。 [全部接受] [管理偏好設定] # 你要看的那篇文章 正文真正的第一段。 <div class="promo-inline"> ## 延伸閱讀 [另一則標題](/a) [再一則標題](/b) [還有第三則](/c)
最後存進筆記的內容
# 你要看的那篇文章 正文真正的第一段。
轉換
表格由擴充功能自己序列化,而不是交給通用外掛,因為通用轉換器遇到含有清單或程式碼區塊的儲存格就會出錯。程式碼區塊的語言取自頁面本身的標記。參考連結會在清理程式移除它們所依賴的 id 之前,先收集成 Markdown 註腳;順序很重要,弄錯的話會悄悄失去所有註腳。
它在哪裡停下
商店首頁、資訊流或搜尋結果頁上沒有文章。擴充功能會檢查完成的 Markdown:如果超過四分之一位於連結文字中,它會回報「沒有文章」,而不是交給你三百個連結。這種拒絕是刻意的,也是這裡的字元數比那些總會傳回點什麼的工具更低的原因。
它不做的事
- 不會下載圖片、影片或其他二進位資源:圖片連結指向原始網站
- 不會爬取網站:一次一頁,就是你正在看的那一頁
- 不會摘要或改寫:文章文字只做轉換,不做編輯
- 不會在瀏覽器保護的頁面上執行,例如
chrome://和擴充功能商店本身
常見問題
擷取一次要多久?
一般文章只要幾十毫秒;帶有數百個註腳的超長頁面則需要幾百毫秒。耗時會顯示在擷取視窗的角落。
在單頁應用程式上能用嗎?
可以。它在頁面呈現完成後讀取 DOM,所以用 JavaScript 建置的文件網站,會照你看到的樣子擷取下來。
jsonld-articlebody 擷取模式是什麼?
有些頁面把文章文字放在結構化資料中,卻始終沒有完成呈現。當結構化資料中的文字明顯多於 DOM 時,擴充功能會改用它,並記錄下這件事。