Ferret 是一個聲明式的 Web 爬蟲系統,旨在簡化網絡上的資料提取,以用于 UI 測試、機器學習和分析等等。
Ferret 擁有自己的聲明式語言,通過抽象出技術細節和底層技術的複雜性,進而更專注于資料本身。
特性
- 聲明式語言
- 支援靜态和動态 web 頁面
- 嵌入式
- 可擴充
示例
LET google = DOCUMENT("https://www.google.com/", true)
INPUT(google, 'input[name="q"]', "ferret", 25)
CLICK(google, 'input[name="btnK"]')
WAIT_NAVIGATION(google)
FOR result IN ELEMENTS(google, '.g')
// filter out extra elements like videos and 'People also ask'
FILTER TRIM(result.attributes.class) == 'g'
RETURN {
title: INNER_TEXT(result, 'h3'),
description: INNER_TEXT(result, '.st'),
url: INNER_TEXT(result, 'cite')
}
本文來自雲栖社群合作夥伴“開源中國”
本文作者:局長
原文連結