重要ニュース
\n重要な出来事の概要
\nHTML ノードは、HTMLドキュメントから特定の要素を抽出するノードです。CSSセレクタを使って、Webページから必要なデータを取り出す「Webスクレイピング」に使用します。
🔍 本から特定の章を探すことに例えると:HTML ノードは本の目次を使って特定の章を探すようなものです。「第3章」「著者紹介」など、目的の部分をピンポイントで取り出せます。
💡 ポイント:
| プロパティ | 説明 | デフォルト |
|---|---|---|
| Selector | CSSセレクタ(抽出対象を指定) | (空) |
| Output | 出力形式(html/text/属性) | html |
| Property | 入力HTMLのプロパティ | msg.payload |
| Output to | 出力先のプロパティ | msg.payload |
| as | 出力形式(単一/複数メッセージ) | single |
| Prefix | 属性プレフィックス文字(出力がcomplの場合) | _ |
| オプション | 説明 | 出力例 |
|---|---|---|
| the html content | 要素の内部HTML | <b>太字</b>テキスト |
| only the text content | テキストのみ | 太字テキスト |
| 属性名を指定 | 指定した属性の値 | href属性なら URL |
| セレクタ | 説明 | 例 |
|---|---|---|
要素名 | タグ名で選択 | p, div, a |
.クラス名 | class属性で選択 | .article, .title |
#ID | id属性で選択 | #header, #main |
[属性] | 属性の有無で選択 | [href], [data-id] |
[属性=値] | 属性値で選択 | [type="text"] |
| セレクタ | 説明 | 例 |
|---|---|---|
A B | Aの子孫のB | div p(div内の全p) |
A > B | Aの直接の子のB | ul > li(ulの直下のli) |
A, B | AまたはB | h1, h2(h1とh2両方) |
A.class | Aでクラスがclass | p.intro |
📥 サンプルフローのインポート方法:
このサンプルフローには、以下で説明するパターンの実例が含まれています。
これは紹介文です。
\n本文の段落1です。
\n本文の段落2です。
\n重要な出来事の概要
\n概要1
\n概要2
\n| 名前 | 年齢 | 職業 |
|---|---|---|
| 田中 | 30 | エンジニア |
| 鈴木 | 25 | デザイナー |
| 佐藤 | 35 | マネージャー |
サンプルフローの「基本: HTMLからテキスト抽出」を参照してください。
ポイント:
h1 → 見出しテキストを抽出p → 段落テキストを配列で抽出a + Output: attr → href属性(URL)を抽出サンプルフローの「クラスやIDで絞り込み」を参照してください。
ポイント:
.クラス名 でクラス指定#ID名 でID指定.parent .child のように空白で区切るサンプルフローの「テーブルデータ抽出」を参照してください。
ポイント:
table tr td でテーブルセルを抽出text でテキストのみ取得📋 課題: HTMLから全ての h2 タグのテキストを抽出してください。
✅ 成功の条件:
Selector に h2、Output に text を設定します。
本文1
\n本文2
\n本文3
", "output": "str", "x": 270, "y": 80, "wires": [["ex1_html"]]}, {"id": "ex1_html", "type": "html", "z": "ex1_tab", "name": "h2抽出", "property": "payload", "outproperty": "payload", "tag": "h2", "ret": "text", "as": "multi", "chr": "_", "x": 410, "y": 80, "wires": [["ex1_debug"]]}, {"id": "ex1_debug", "type": "debug", "z": "ex1_tab", "name": "結果", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "x": 550, "y": 80, "wires": []} ]📋 課題: HTML内の全ての a タグから href 属性を抽出してください。
✅ 成功の条件:
"/home"、"/about"、"/contact"、"https://external.com" の4件のURLが出力されるOutput を「属性名を指定」にして href と入力します。
📋 課題: class="highlight" を持つ要素のテキストのみを抽出してください。
✅ 成功の条件:
Selector に .highlight を指定します。
📋 課題: id="main" の div 内にある、class="item" を持つ要素のテキストを抽出してください。
✅ 成功の条件:
複合セレクタ: #main .item
🎯 重要ポイント:
⚠️ 注意事項:
ニュースサイトから記事タイトルとリンクを定期的に取得してデータベースに保存。
ECサイトから商品価格を抽出し、価格変動を監視・通知。
HTMLレポートから表データを抽出してJSON形式に変換。
複数サイトから特定のコンテンツを抽出してダッシュボードに表示。