
HTML 是已儲存的頁面標記。程式庫是另行安裝、供讀者使用的程式碼。雜湊是檔案指紋,用來識別確切的已儲存複本。None 或空白輸出代表擷取未能提供結果。把已擷取的輸入、正文和擷取狀態分開;登入頁、挑戰頁或 HTML 外殼不是已取得的正文,而且沒有測試頁面繪製或隱藏存取。
檢查從網頁擷取的正文
- 界定代理需要頁面上的哪些內容,以及哪些頁面區域不在該需要之內。這個方法針對擷取品質。
- 如果需要尋找候選網址,使用公開的 Google Search Scraper build 1.0.15 Actor 和一個 Task。用一個預定搜尋片語取代整份已儲存的三項查詢樣本,設定使用 `queries` ["one intended phrase"]、`engines` ["bing"]、`maxResultsPerExecutedQuery` 2、`country` "US"、`language` "en"、`safeSearch` true,以及 `includeSponsoredResults` false。原生搜尋候選欄位包括 `engine`、`executedQuery`、`canonicalUrl`、`resultDomain`、`snippet`、`rank`、`page` 和 `observedAt`。輸出彙總紀錄包括 `queriesRequested`、`searchesCompiled`、`executionsPlanned`、`enginesRequested`、`enginesSuccessful`、`enginesFailed`、`pagesAttempted`、`pagesParsed`、`candidatesSeen`、`resultsSaved`、`engineStatusCounts`、`queryResultCounts` 和 `stopReason`。目前的兩列 Bing 對照傳回直接的 docs.python.org 候選網址,並帶有查詢、排名 1 和 2、頁碼 1,以及觀察時間,另外有一個已解析頁面,以及 stopReason `result_caps_reached`。它只核實範圍有限的候選項目,不核實目的地擷取、文字擷取,或其他引擎或市場。這裡只有 Bing 有已通過驗收的引擎證據。
- 另行擷取一個獲准的目的地頁面,並保留其最終網址、擷取時間、內容類型和來源 HTML。搜尋 Actor 不會做這次擷取。核實已儲存的輸入確實包含預定的文章文字。把 `fetch_failure`、`body_not_in_saved_html` 和 `extraction_unavailable` 分開。
- 在已記錄的版本和選項下,對該已儲存 HTML 另行執行一個文字擷取程式庫。原始的本機 HTML 測試樣本,曾以已安裝的 2.0.0 版、用 `trafilatura.extract(html, include_comments=False)` 測試。注意,目前文件描述的是 2.3.1 版,因此這些版本事實必須分開。
- 在驗收輸出之前,先界定幾項來源檢查:必要的標題或段落、否定或條件、數字及其單位,以及被排除的導覽、頁尾或留言。比較已儲存 HTML 和傳回的文字。遺漏的單位或缺失的否定,都可以把意思反轉。
- 把每項檢查記錄為 retained、changed、missing、unwanted_noise_present 或 cannot_resolve,並附上確切來源定位和擷取段落。只在有用時才計算已檢查事實的數目。
- 如果一項關鍵檢查失敗,覆核已儲存 HTML 和擷取設定,而不要把損毀的文字交給代理。
- 儲存一份精簡擷取紀錄:來源網址和擷取情境、HTML 參照或雜湊、擷取器版本和選項、輸出參照、檢查表,以及決定。
原始的虛構完整已儲存 HTML 測試樣本:「Fictional tray guide」的已儲存 HTML 有導覽、登入和頁尾區塊、一篇文章,以及一個留言區。文章寫道:「Do not add water until the tray is level」以及「Use 12 milliliters of water for this fictional demonstration.」。留言和選單包含無關詞語。這個測試樣本沒有即時擷取任何目的地。
| 檢查項目 | 已儲存 HTML 內容 | 擷取文字輸出 | 狀態 |
|---|---|---|---|
| 必要標題 | Fictional tray guide | Fictional tray guide | 已保留 |
| 否定/條件 | Do not add water until the tray is level | Do not add water until the tray is level | 已保留 |
| 數字和單位 | 12 milliliters | 12 milliliters | 已保留 |
| 導覽標記 | NavigationMarker | 不存在 | 讀者建立的檢查:不需要的雜訊不存在 |
| 頁尾標記 | FooterMarker | 不存在 | 讀者建立的檢查:不需要的雜訊不存在 |
| 留言標記 | CommentsMarker | 不存在 | 讀者建立的檢查:不需要的雜訊不存在 |
已安裝的 2.0.0 版擷取器呼叫產生了非空白正文。像「Add water. Use 12」這樣的假設輸出會使兩項檢查失敗,因為必要的否定和條件已改變,而且數字的單位缺失。假設輸出為空白,會標成 `extraction_unavailable`,而不是一篇事實為零的文章。
來源與延伸閱讀
作者 Chronometrica · 更新日期
返回頂端 ↑
