Google Apps Script で sitemap.xml を parse する


Google Apps Script で、sitemap.xml から url を抽出したくなり、
調べた結果について記載します。

実際に、スクリプトを作って公開している方がいましたので、
そちらを参考にスクリプトを作成してみました。


参考

Cem Simsek’s Space — Google Apps Script | XML Sitemap Parser


作成したスクリプト

  • getUrlFromSitemaps
    function getUrlFromSitemaps() {
      var sitemapUrl = "your_sitemap_url";
      var xmlNS_String = "http://www.sitemaps.org/schemas/sitemap/0.9";
      // エラーが発生した場合は、Exception がスローされが処理中断します。
      var xml = UrlFetchApp.fetch(sitemapUrl).getContentText();
      var document = XmlService.parse(xml);
      var xmlProtocol = XmlService.getNamespace(xmlNS_String);
      var urlEntries = document.getRootElement().getChildren('url', xmlProtocol);
      var urlsArray = [];
      for (var urlIndex= 0; urlIndex < urlEntries.length; urlIndex++) {
        urlsArray.push(urlEntries[urlIndex].getChild('loc', xmlProtocol).getText());
      }
      return urlsArray;
    }
    

説明

以上です。

コメント