😊

GAS データを抽出する時に役立つParserライブラリ

2024/05/31に公開

はじめに

GASを使用してサイト情報を取得した後、ほしい部分の情報を抽出するのに役立つParserライブラリの紹介です。

Parserライブラリ

指定した部分のHTML情報を取得できるライブラリ

インストール方法

1Mc8BthYthXx6CoIz90-JiSzSafVnT6U3t0z_W3hLTAX5ek4w0G_EIrNw

をライブラリで検索してインストールする

使い方

const function = () => {
  const url = "url";
  const response = UrlFetchApp.fetch(url);
  const content = response.getContentText();

  // Parserライブラリ
  const div = Parser.data(content).from('<div>').to('</div>').build();
}

response.getContentText();

指定したurlのHTMLを文字列情報で取得する

Parser.data(content).from('').to('').build();

Parserライブラリの実装。
response.getContentText()で取得したHTML情報の文字列から、取得したい情報をfrom('')とto('')の間で指定する。指定した部分のHTML情報が取得できる。

build()

最初にヒットしたfrom('')とto('')の間のデータを取得するのみを取得する

iterate()

from('')とto('')の間のデータを全件取得する

build()とiterate()の違い

<ul>
    <li>アイテム1</li>
    <li>アイテム2</li>
    <li>アイテム3</li>
</ul>
const itemsData = Parse.data().from('<ul>').to('</ul>');
console.log(itemsData) // <li>アイテム1</li><li>アイテム2</li><li>アイテム3</li>

const buildItemsData = = Parse.data().from('<li>').to('</li>').build();
console.log(buildItemsData) // アイテム1

const iterateItemsData = = Parse.data().from('<li>').to('</li>').iterate();
console.log(iterateItemsData) // [アイテム1,アイテム2,アイテム3]

Discussion