Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.agentify.jp/llms.txt

Use this file to discover all available pages before exploring further.

このマニュアルでは、クローラーのフィールド抽出ルールで利用するコマンドスクリプトの書き方を説明します。各コマンドは1行ずつ記述し、最後は getallrawText などの終端コマンドで終了します。

1. 概要

1.1 構文

スクリプトは、コマンドと任意のパラメータで構成されます。
<コマンド> [=> コマンドパラメータ]

コマンド

必須項目です。1行に1つだけ記述します。戻り値がセレクタ型の場合は、次の行へチェーンできます。

=>

パラメータを指定するための記号です。パラメータが不要なコマンドでは省略します。

コマンドパラメータ

XPath、正規表現、jsonPath など、コマンドに渡す具体的な条件です。
最後のコマンドは必ず終端型にしてください。セレクタ型のまま終わると、抽出結果として利用できません。

1.2 サンプル

すべてのリンクを取得し、/articles/ を含むリンクだけを抽出します。
getHtml
links
regex=>.*/articles/.*
all
任意の article タグ内で、class="article-body" の要素配下にある h1 のテキストを取得します。
getHtml
xpath=>//article[@class='articlePage']//h1/allText()
get
任意の div タグ内で、class="article-body" の要素配下にある記事本文全体を取得します。
getHtml
xpath=>//div[@class='article-body']/allText()
get

2. コマンド一覧

コマンドパラメータ戻り値タイプ説明使用例
getHtmlなしセレクタHTML コンテンツをセレクタとして取得します。getHtml
getJsonなしセレクタJSON コンテンツをセレクタとして取得します。getJson
rawTextなしString終端コマンド。ページ全体のテキストを取得します。rawText
xpathXPath 式セレクタXPath 式に従って要素を選択します。xpath=>//div[@class='article-body']/allText()
regex正規表現セレクタ正規表現で内容を選択します。regex=>.*/articles/.*
jsonPathjsonPath 式セレクタjsonPath 式に従って JSON の内容を選択します。jsonPath=>$.data.content
linksなしセレクタページ内のリンク URL を取得します。links
getなしString終端コマンド。選択された要素の内容を1件取得します。get
allなしString のリスト終端コマンド。選択された要素の集合を取得します。主に links の後で利用します。all

3. 関連構文

3.1 XPath 構文

XPath は Xsoup の構文仕様に準拠しています。HTML の要素、属性、テキストを指定して抽出できます。

要素を指定

//h1//div のようにタグ名で要素を指定します。

属性で絞り込む

//div[@class='article-body'] のように属性値で対象を絞り込みます。

テキストを取得

text()allText() を使って、要素内のテキストを取得します。

階層をたどる

/// を使って、親子関係や子孫要素を指定します。
XPath 1.0 のサポート構文一覧

よく使う XPath 例

目的XPath 例
h1 のテキストを取得//h1/text()
id 指定で本文を取得//div[@id='press-release-body']/allText()
class 指定で本文を取得//div[@class='article-body']/allText()
a タグの href 属性を取得//a/@href
Xsoup で利用できる関数一覧
Xsoup の拡張構文一覧

3.2 regex 構文

regex は、取得済みのテキストやリンク一覧から、条件に一致する内容だけを抽出するために使います。
getHtml
links
regex=>https://example\.com/articles/\d+\.html
all
正規表現の学習や動作確認には、以下のような練習サイトを利用できます。

正規表現の学習サイト

基本的な正規表現を確認しながら練習できます。
正規表現の練習サイト画面

3.3 jsonPath 構文

jsonPath は、JSON 形式のレスポンスから特定の値を抽出するために使います。
getJson
jsonPath=>$.data.content
get
jsonPath の動作確認には、以下のサイトを利用できます。

jsonPath の確認サイト

JSON データと jsonPath 式を入力して、抽出結果を確認できます。
jsonPath の確認サイト画面