この拡張は TurboWarp / Scratch 環境で HTML を取得・解析し、XPath / JSONPath を用いたスクレイピングを可能にします。
| ブロック | 説明 |
|---|---|
| URL [URL] からHTMLを読み込む | 指定URLをフェッチし、解析する |
| パラメータ [Param] を [text] にする | クエリパラメータを文字列に変更して再読み込み |
| パラメータ [Param] を [num] ずつ変える | クエリパラメータを数値で加算して再読み込み |
| ブロック | 説明 |
|---|---|
| XPath [X] から内容を取得 | ElementならinnerHTML、Textならtextを返す |
| XPath [X] から内容(テキスト)を取得 | <br>を改行に変換しテキスト取得 |
| XPath [X] から InnerHTML を取得 | ElementのinnerHTML |
| XPath [X] から OuterHTML を取得 | ElementのouterHTML |
| XPath [X] から属性 [Attr] を取得 | href, src などをそのまま返す |
| XPath [X] の [index] 番目の直下テキスト | 直下のテキストノードのみ取得 |
| ブロック | 説明 |
|---|---|
| XPath [X] から OuterHTML の JSON を取得 | OuterHTMLをJSON化 |
| XPath [X] から InnerHTML の JSON を取得 | InnerHTMLをJSON化 |
| XPath [X] から OuterHTML の JSON のパス [JSONPath] を取得 | JSONPathで指定部分を返す |
| XPath [X] から InnerHTML の JSON のパス [JSONPath] を取得 | 同上 |
| ブロック | 説明 |
|---|---|
| XPath [X] の内容から正規表現 [R] にマッチする全ての要素 | 全一致を配列(JSON)で返す |
| XPath [X] の内容から正規表現 [R] にマッチした要素の [i] 番目 | 指定インデックスのマッチを返す |
| XPath [X] の属性 [A] から正規表現 [R] にマッチする全ての要素 | 属性値を正規表現で抽出 |
| XPath [X] の属性 [A] から正規表現 [R] にマッチした要素の [i] 番目 | インデックス指定 |
| XPath [X] の [i] 番目の直下テキストから正規表現 [R] にマッチする全ての要素 | 直下テキストを正規表現抽出 |
| XPath [X] の [i] 番目の直下テキストから正規表現 [R] にマッチした要素の [j] 番目 | インデックス指定 |
| ブロック | 説明 |
|---|---|
| 現在読み込んでいるURL | 最新のURL |
| 読み込み結果 | 生のHTMLテキスト |
| 読み込みステータス | HTTPステータスコード |
| CORSエラーが発生した | フェッチがCORS制限で失敗したかを返す |
- Scratch.fetch を利用してHTMLを取得
- DOMParser でHTMLを Document に変換
- document.evaluate() で XPath クエリを実行
- JSON化は再帰的にノードを解析して構造化
- 正規表現抽出は JavaScript の RegExp を使用
- CORSエラーは Scratch.canFetch() または fetch 失敗時に記録