オランダ語民話データベースからお話本文だけを取得する

オランダ語が(ふつうの人は)わからないので,Googleページ翻訳を使ってページ丸ごと翻訳をオススメする

オランダ語民話データベースは
Nederlandse Volksverhalenbank

具体的なお話はNederlandse Volksverhalenbank | Blader door items
検索オプションをNederlandse Volksverhalenbank | Zoek Items
でかけることができるので,便利.

ここで例えば,AT分類がされたお話だけを得ようと思えば,
Onderwerp(英語でtopicの意味)の欄に AT と入力して検索すればよい.

データのクローリング

どうやってデータを取得しようか?と思っていたが,wgetで簡単に取得できることが判明した.お話が表示されているページでwgetを実行すればページの情報がまるごと取得できる.つまり,クローリング可能.なお,実際のデータはhtmlで記述されている.ただし,注意しないといけない点が数点

  • 昔話の分類システムとしてAarne Tompson以外のシステムも採用されている.(つまり,AT分類以外の番号も存在している)
  • 著作権の関係で,表示できないお話もけっこうある.(たぶん,表示できないお話をクロールしようとすると,403エラーが出る)

HTMLの設計構造

web pageの設計の役割も担っているので,不要なタグがやたら多いが,必要なタグだけ記述していく.

このページを参考にしながら見てもらうのがよいと思う.
Nederlandse Volksverhalenbank | Geschiedenis van Aly Baba en de veertig roovers

本文に関する情報がされているノード

<div id="content">

中略

</div><!-- end content -->

まで

以降は,このノードの子どもにあるものとして,記述していく

<span class="deco" style="font-weight:bold;">タイトル,題名のノード</span>

        <div id="dublin-core-title" class="element">
        <h3>Titel</h3>
                    <div class="element-text">Geschiedenis van Aly Baba en de veertig roovers</div>
            </div><!-- end element -->

似た名前で下のノードも存在するが,これはhtmlのデザインを制御しているだけなので,使わない方がいい

<h1>ALIBABA003 - Geschiedenis van Aly Baba en de veertig roovers</h1> 

AT or ATU番号が記載されているノード

        <h3>Onderwerp</h3>
                    <div class="element-text">
            <p class="toggler" id="toggler-AT0365">
                <span class="expandSlider">AT 0365 - The dead bridegroom carries off his bride (Lenore) &nbsp&nbsp&nbsp <img src= "/themes/verhalenbank/images/down.gif"></span>
                <span class="collapseSlider">AT 0365 - The dead bridegroom carries off his bride (Lenore) &nbsp&nbsp&nbsp <img src= "/themes/verhalenbank/images/up.gif"></span>
            </p>
            <div class="slider" id="AT0365"><a href='/items/browse?search=&submit_search=Zoeken&collection=1&advanced%5B0%5D%5Belement_id%5D=49&advanced%5B0%5D%5Btype%5D=is+exactly&advanced%5B0%5D%5Bterms%5D=AT+0365'>AT 0365: Alle Items</a><br><a href=/items/show/3469>AT 0365 verhaaltype</a><br></div></div>

ちなみにOnderwerpとはTopicという意味らしい.

モチーフ番号が記載されているノード

        <h3>Motief</h3>
                    <div class="element-text">
            <p class="toggler" id="toggler-Z111">
                <span class="expandSlider">Z111 &nbsp&nbsp&nbsp <img src= "/themes/verhalenbank/images/down.gif"></span>
                <span class="collapseSlider">Z111 &nbsp&nbsp&nbsp <img src= "/themes/verhalenbank/images/up.gif"></span>
            </p>
            <div class="slider" id="Z111"><a href='http://www.dinor.demon.nl/motif/index.html?Z111' target='motif'>Z111: Externe link</a><br><a href='/items/browse?search=&submit_search=Zoeken&collection=1&advanced%5B0%5D%5Belement_id%5D=52&advanced%5B0%5D%5Btype%5D=is+exactly&advanced%5B0%5D%5Bterms%5D=Z111'>Z111: Alle Items</a><br></div></div>

書誌情報が記載されているノード

<div id="dublin-core-description" class="element">

から始めるノード

<div class="element-text">

に概要が記載されている

<div id="dublin-core-source" class="element">

からが,お話の元がどこにあるのか?情報

<div id="dublin-core-date" class="element">   

が,いつ(年代)の情報

本文テキストが記載されているノード

<div class="element-set">
        <div id="volksverhaal-item-type-metadata-text" class="element">
        <h3>Tekst</h3>

                    この辺りから本文が記載されている

</div><!-- end element -->

まで

分類関する情報ふたたび

<div id="volksverhaal-item-type-metadata-subgenre" class="element">

のノードにサブジャンルの情報がある.
その子どもに

<p class="toggler" id="toggler-sprookje">

がある.id=""の部分がジャンル

<div id="volksverhaal-item-type-metadata-motif" class="element">

のノードがモチーフに関する情報
その子どもにある

<p class="toggler" id="toggler-D15522">

がモチーフ
複数のモチーフが存在する場合には,さらに

<p class="toggler" id="toggler-N4553">

のように兄弟ノードに記載されている.

<div id="volksverhaal-item-type-metadata-named-entity" class="element">

に固有名詞 Named Entity的な,情報が記載されている
その子どもの部分,

<p class="toggler" id="toggler-AlyBaba">

が具体的な情報

あと,採録場所や,物語の場所についての情報があるけど,今は必要ないと思う.