スクレイピング

【R】Rを使ってCSSをスクレイピングしてみる【CSSの説明あり】

r-css

Rを使ってHTMLドキュメントのスクレイピングする【DOMの説明あり】の記事で、HTMLの要素を抽出していきました。

今回はCSSからの抽出です。

CSSの基本的な説明もあるので、復習も兼ねて、読んでください。

もしエラーがおきたらteratailで質問してみてください。エンジニアさんやプログラマーさんが教えてくれますよ。

スクレイピングするサイト

石田基広さんのサイトを使います。一度、ご覧ください。

>>>今回スクレイピングするサイト

「Rによるスクレイピング入門」という本を参考にさせていただきます。

サイト自体は、めっちゃシンプルですよね。石田基広さんのサイトは、スクレイピングをする際に、とても勉強となります。

今回使うパッケージ

パッケージ名説明
rvestWebページから情報を抽出する作業を簡単にしてくれる
dplyrデータフレームを簡単に操作できる(パイプ演算子を使う)
magrittrオブジェクトの一部の抽出または置換(パイプ演算子を使う)

CSSとは?

CSSは、HTMLと組み合わせて使用する言語です。

HTMLがウェブページ内の各要素を装飾することができます。

今回スクレイピングするサイトでいうと、文字に色がつけられていいますよね。

その色をつけているのが、CSSです。

HTMLソースコードを表示する

CSSはHTMLと組み合わせて、使われます。

それは、HTMLソースコードを表示すれば、どのようなCSSが使われているか見ることができます。

CSSが他のファイルに書いてある場合もあります。HTMLソースコード内に、CSSが表記されていないこともあります。

HTMLソースコードを表示する方法は

chrome(クロームの場合)

【右クリック】→【ページのソースを表示】

で表示することができます。

他のブラウザを利用している場合でも、同じような感じでいけます。

HTMLドキュメントとHTMLソースコード

左HTMLドキュメント
右HTMLソースコード

csscss

CSSの基本

CSSを抽出する際には、CSSセレクタというものを知っておく必要があります。

まず、CSSは基本このように、表記されます。

セレクタ{プロパティ:値;}

セレクタスタイルを適用する対象を決める
プロパティどのスタイル(プロパティ、今回でいうとcolorプロパティ)を適用するのか
どんな内容を適用させるのか?

p.green { color: green;}

p.greenというセレクタは、p要素にclass属性を定義していて、colorプロパティを使い、greenという内容を適用させています。

p#red { color: red;}

p#redというセレクタには、p要素にid属性を指定して、colorプロパティを使い、redという内容を適用させています。

HTMLドキュメントをDOMにして読み込む

左HTMLドキュメント
右HTMLソースコード

csscss

HTMLでスクレイピングするときと同様に、HTMLドキュメントを読み込みする必要があります。

パッケージの読み込み

library(rvest)
library(magrittr)
library(dplyr)

rvestread_htmlを使って、DOMという構造にしていきます。

DOMにする

test2 <-read_html(“https://IshidaMotohiro.github.io/sample_check/simple2.html”)
test2

{xml_document}

<html>

[1]<head>\n<meta http-equiv=”Content-Type” content=”text/html; charset=U …

[2] <body>\n <div>\n <p>pタグ</p>\n </div>\n <p class=”green”>classを使 .

 

この結果となります。DOMを知っていれば、なんとなくわかりますよね。

クラスを抽出

クラスを抽出

test2 %>% html_nodes(css = “.green”)
test2

{xml_nodeset (1)}

1]<p class=”green”>classを使った例</p>

 

html_nodesでノードを指定しています。今回指定したのは、greenクラスです。

テキスト部分を抽出

test2 %>% html_nodes(css = “.green”) %>% html_text()

このようにすると、テキスト部分を抽出することができます。

IDを抽出

IDを抽出

test2 %>% html_nodes(css = “#red”)

{xml_nodeset (1)}

[1] <p id=”red”>idを使った例</p>

 

この結果になります。#redでid「red」を抽出してます。

テキスト部分を抽出

test2 %>% html_nodes(css = “#red”) %>% html_text()

1] “idを使った例”

 

テキスト部分も抽出することができます。

まとめ

まとめ

  • CSSはHTMLと組み合わせて使う
  • class、idを指定して、要素を抽出することが出来る

●ゼロから始めるR言語に戻る

R言語
【随時更新】ゼロから始めるR言語【2018/3/30日更新】RとRStudioのインストールからグラフ・図・分析、テキストマイニング、スクレイピングなどをやっていきます。ネットでRを勉強したい人は是非ご覧ください。...

参考文献

¥3,478
(2018/10/18 01:01:57時点 Amazon調べ-詳細)

データサイエンティストになりたいなら

  • データサイエンティストになりたいけど、漠然とRの勉強をしている

もしそうならば、戦略的に勉強しましょう。戦略的に勉強しなければデータサイエンティストになるのは夢のままになってしまう可能性があります。

データサイエンティストになるためのおすすめの勉強方法・講座を3つご紹介します。

①通勤講座でデータサイエンティストの講座を受ける

  • ビジネスにデータを活用したいが方法が分からない。
  • ビックデータをどう扱えばよいか分からない。
  • データサイエンティストになりたいが、どうすればいいのか分からない。

このような場合、データサイエンティスト基礎講座 を受けてるのはどうでしょうか。動画によって、上のような悩みを解決してくれます。

まずデータサイエンティスト の基礎を学んでみて、ビジネススキルが足りなかったらUdemy で勉強するのが良いです。

いまなら10%クーポンもありますし、無料の動画もあります。今行動しないと一生やりませんので、もう少し下を見てからで良いのでご覧ください。

▼まずデータサイエンティストの基礎を学ぶ▼

データサイエンティストの基礎を学ぶ>>

②Udemyのデータサイエンティスト講座を受ける  

「Udemy」も動画で学ぶタイプの講座です。データサイエンティストになるための講座がそこそこあります。

通勤講座とちがうのが安さです。どちらも内容の質が良いことは間違えないのですが、Udenyは安めです。

「自分この部分の知識がないな」と思ったときの補強でも使えますね。一度講座をとって気に入らなかったら、全額返金できます。

▼データサイエンティストの基礎を学んだり、知識の補強をする▼

 Udemyのデータサイエンティスト講座を受ける>>

③データサイエンティスト育成スクールにいく

本気でデータサイエンティストになりたいなら、このスクールに行くのがおすすめです。

データサイエンティストに必要な知識は膨大です。統計学、機械学習、人工知能、データベース、プログラミング、ビジネススキルなどなど。

その知識をデータサイエンティストとしての経験がある先生たちが、オフラインで教えてくれます。

動画です。ご覧ください。

どうですか、めっちゃ良いですよね。ここは他の講座と違うなと思った部分があるのですが、転職支援もしてくれます。

さらに

データサイエンティスト全コースを一括で申し込んでいただいた方のみ、
ブートキャンプ終了時にご満足いただけない場合は受講料を全額返金します。

返金保障もあります。

もしまだ心配な方は説明会もありますので、いって見てください。

  • 未経験からデータサイエンティスト目指せる(Rを触っているあなたならもっと安心)
  • 返金保障あり
  • データサイエンティストに必要な知識を学べる
  • オフライン
  • データサイエンティスト経験がある先生に質問ができる
  • 転職支援あり

もう一度言います。本気でデータサイエンティストを目指すならおすすめです。

▼データサイエンティストになる▼

未経験からデータサイエンティストになる>> 

どれにしますか

①と②の場合はまず基礎を学んで、足りないところを補充して転職という感じです。③は転職支援もあるので安心です。

思いたったときに行動しなければ意味がありません。将来的にデータサイエンティストになりたいなら今すぐ行動しましょう。

データサイエンティストの基礎を学ぶ
通勤講座のデータサイエンティストの講座を受ける  

データサイエンティストの基礎を学んだり、知識の補強をする
Udemyのデータサイエンティスト講座を受ける  

本気でデータサイエンティストを目指す
データサイエンティスト育成スクールにいく

 

 

ABOUT ME
さぎのみや
さぎのみや
ゲーム開発を手助けるメディア【ユニシャー】を運営しているさぎのみやの個人ブログです。自分の考えや役にたったことを書いております。自分の芯がある人が好きです。→Amazonほしいものリスト
ゲーム開発を手助けるメディア「Unishar-ユニシャー」
  • Unityを勉強したい
  • とりあえずUnityを使ってゲームを作りたい

このような悩みを解決してくれる、アクセス急上昇中のUnityメディア「Unishar-ユニシャー」

Unityでのゲーム開発に役立つことばかりです。

Unity専門メディア「Unishar-ユニシャー」→