暇人の研究室

金融工学やR言語・統計学について書いてます。

<

【Web技術】スクレイピングする上で抑えておきたいHTMLの基本的な仕組み

 

 

近頃はビックデータの時代でデータ集めや分析が簡単になりました。そしてデータの収集先で一番多いのがインターネットです。

 

インターネットからデータを集める方法の1つとしてサイトの情報をそのまま引っ張ってくるスクレイピングというものがあります。

 

そしてスクレイピングを行うためには、まずWEBページの仕組みについて理解しておかなければなりません。

 

 

ですが、HTMLについて知らなければデータを引っ張って来ても扱い方が全然わからないということになります。(私がそうでした)なので、今回はHTMLについてざっくり見ていきたいと思います。

 

 

 

HTMLとは?

 

 HTMLとはHyper text markup languageの略で文書を構造化するために形式で、国際的な基準となっているフォーマットです。

 

これはW3C(World wide Web)という国際組織によって標準化されています。

 

 

 

HTMLの形式

 

HTMLはタグで構成されます。ブログとかをやってた人はなんとなく分かると思いますが、HTMLはざっくり表すとこんな形式です。

 

基本としては<html>~</html>の中に要素を詰め込みます。

 

 

<html ...>
<head>
ヘッド要素の内容
</head>
<body>
ボディ要素の内容
</body>
</html>

 

見てか分かるように、HTMLは<html>という開始タグで始まり、最後に</html>というタグで終わります。

 

タグ名のアルファベットは大文字でも小文字でも関係ありませんので<HTML>でも認識してくれますが、小文字が一般的です。

 

このようにHTMLは文書を構成するパーツを「要素」と呼んで、この要素の組合せとしてページを作り上げていきます。

 

ですが、私たちが勝手に「これは要素だ」と決めても、それを何らかの方法で明示してあげないことには、コンピューターにはその区別がつきません。

 

なので、文中に「ここからここまでがこの要素だ」という目印を付けることにします。この目印が「タグ」なのであり、目印を付けていくことを「マークアップ」といいます。

 

 

 

HTMLの要素

 

1番目の部分をHTMLのhead要素といい、2番目の部分をbody要素といいます。この2つをあわせたもの、つまりHTMLの本体をhtml要素といいます。

 

<head></head>内はサイトの情報を記述する部分で、即に『ヘッダー』といわれています。


<head></head>内で記述するタグの中で重要なのは「タイトルタグ」です。(タイトルタグはHTMLでは<title></title>と記述します。)

 

<head>

<title>【Web技術】HTMLについての分かりやすい解説</title>

</head>

 

タイトルタグはWebブラウザの上に反映され、検索エンジンで検索した時の検索結果一覧に表示されます。

 

このタイトルはSEO的にも判断基準の一つになるので、もしあなたがブログを書くのであればタイトルはよく考えて決めましょう。

 

次に<body></body>で挟まれた部分は、記事の中身である文章や画像など、実際にブラウザの画面上に表示される内容です。

 

つまり、<body>タグの中に書かれたテキストや画像などがブラウザの画面上に表示されます。

 

 

 

タグの種類

 

タグは役割の違いから『要素(element)』『属性(attribute)』『値(value)』の3つに区別されます。

 

今回はあくまでサイト作成ではなく、Webスクレイピングを行う上での基本的理解を目的としているので、HTMLで絶対に使われる骨組みのようなタグしか紹介していませんが、

 

HTMLタグは他にもたくさん種類があるので、興味のある方はより専門的なサイトで調べてみてください。

  

このように、HTMLは「タグ」で構成されているので、スクレイピングしたデータを分析する際はタグの文字で検索を掛けていくことになります。

 

 

Rなどほとんどのプログラミング言語では収集したWEBページのデータ(HTML)はDOMという形式に変換されて保存されます。そしてDOMではHTML内の要素をノード(Node)と言い、ここから必要な部分を検索したり抽出したりしてデータ分析を行うのです。

 

次は実際にRで簡単なスクレイピングを行っていきます。

 

【R言語】XMLパッケージでWebスクレイピングしてみる - 暇人の研究室

 

 

 

ちなみに、スクレイピングについてはこちらの本が解説しているのでオススメです。入門と書いてますが、実務でも使えるレベルです。