取得したHTMLページをxoBlosで扱えるようにする (1)

Webサービス呼び出し」事始め https://xoblos.hatenablog.jp/entry/2024/01/19/141043

上記の記事で、「Webサービス呼び出し」機能を使用してWebページをHTMLファイルとして保存する方法を記載しました。

今回の記事では、「変換(XML→抽出データ)」機能を使って、HTMLファイルを xoBlos XMLファイルに変換する方法を解説します。「変換(XML→抽出データ)」手順は、xoBlos XML形式以外の他システムで作成されたXMLファイルを、xoBlosで扱えるように データ構造変換を行う手順です。

表データと相性の良いxoBlos XML構造 https://xoblos.hatenablog.jp/entry/2018/11/23/153425

XMLフラット化:外部公開されているXMLデータを活用する https://xoblos.hatenablog.jp/entry/2021/08/13/020135

XHTMLのように、HTMLをXMLで記述したファイル形式もありますが、 HTML形式はブラウザでの表示を最大の目的として設計されているため、 厳密なXML標準にのっとっていないHTMLファイルが多くWebには存在します。

xoBlosの「変換(XML→抽出データ)」機能は、XML形式(XML標準仕様でタグ付けされた形式)のファイルを入力するという前提で動作します。

とはいいながら、Web上の数多くのHTMLファイルは、開始タグと終了タグの対応付けなど、XML規則に準じて作成されているものが多く、この性質をうまく利用して、「変換(XML→抽出データ)」手順で簡易的な変換が実行できるのです。

もちろん、ブラウザでの表示が崩れてしまうような、HTML形式でもタグ付けに妥当性がないファイルには適用できないのですが。

「変換(XML→抽出データ)」手順は、新設するときは [新しい手順]-[抽出データを作成する]-[XMLファイルから] を選んで作成します。

手順の設定はものすごく簡単で、[入力ファイル名][出力ファイル名][出力文字コード] を指定するだけです(あらゆる手順設定の中で最も簡単)。

手順を右クリック→[この手順を実行] で実行してみます。

前段手順で指定したURLから取得した page.html

xoBlos XML形式に変換された flat.xml

多くのWebページは、ここまでの手順設定でxoBlos XMLに変換できるのですが、この例のような入札情報などで、コンテンツデータの中に半角 &(アンド記号)が含まれていた場合は、XML変換時に失敗してしまいます。次のようなケースです。

<td class="text"><a href="/jp/supply/nyuusatsu/ippan/pdf/__icsFiles/afieldfile/2024/01/22/20240122_Emerald.pdf">
Emerald Library & Information Sciences eJournal Collection1式の利用(PDF: 120KB)</a>
</td>

なぜ失敗するのか、その場合の解消手段に関しては、次回の記事に掲載します。

取得したHTMLページをxoBlosで扱えるようにする (2) https://xoblos.hatenablog.jp/entry/2024/02/02/151927