---
title: Rでデータハンターになろう！～ウェブスクレイピングの基礎から簡単例まで～
tags:  #[第11回大阪sas勉強会]  
author: [森岡裕[SASユーザー総会世話人]](https://www.docswell.com/user/6484025)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/KJ4V13G2E1.jpg?width=480
description: [第11回大阪sas勉強会]
published: April 16, 25
canonical: https://www.docswell.com/s/6484025/K82D7X-2025-04-16-035918
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/KJ4V13G2E1.jpg)

Rでデータハンターになろ
う
第11回大阪SAS勉強会
Zhang Li
2025.4.16


# Page. 2

![Page Image](https://bcdn.docswell.com/page/LE13G1DKJG.jpg)

目次
• １、ウェブスクレイピングについて
• ２、ウェブスクレイピングって違法か？
• ３、ウェブスクレイピング可能サイト見分け
• ４、Rvestパッケージ
• ５、R簡単実装例1、2
• ６、Pythonとの比較
• ７、まとめ
• ８、おしまい


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GEWPK8YPJ2.jpg)

ウェブスクレイピングとは
• ウェブスクレイピング(Web Scraping)
ウェブサイトから情報を抽出するIT技術のこと。
通常このようなソフトウェアプログラムは低レベルのHTTPを実装することで、もしくはウェブブ
ラウザを埋め込むことによって、WWWのコンテンツを取得する。
ウェブスクレイピングはユーザーが手動で行なうこともできるが、一般的にはボットやクローラ
(英: Web crawler)を利用した自動化プロセスを指す。
↑from Wikipedia
※最近では、機械学習の材料集めにWebスクレイピングが
行われることも増えており、スクレイピングという言葉も
一般に認知されるようになってきました。


# Page. 4

![Page Image](https://bcdn.docswell.com/page/47ZKZ8X673.jpg)

ウェブスクレイピング違法？
• Webスクレイピングの対象はWebサイトに掲載されている情報です。
基本的にはWebサイト側が公開しなければ参照できない情報となり、
Webサイトを検索して参照しているのと同等の行為のため、スクレ
イピングによる情報の収集自体には違法性はありません。
• 関わる法律：著作権法、刑法、民法
• 注意事項：
①Webサイトの利用規約に違反する（利用規約で触れている場合は
違反になる）
②サーバに過度の負荷をかける（アクセス不能になり業務妨害にあ
たる）
③著作権を侵害する（抽出したデータを無断で公開・販売するな
ど）


# Page. 5

![Page Image](https://bcdn.docswell.com/page/YJ6QZP4LJV.jpg)

ウェブスクレイピング可能サイト見分け
利用規約やrobots.txtファイルなどの確認すると、WPがあまり歓迎されないのが殆どです。
※検索キーワード：スクレイピング(scraping or scrap)、クロール(crawling)など
※例、https://example.com/robots.txtでも確認できるが、見方は優しくなく、お勧めしない
禁止：Amazon、X(Twitter)、Youtubeなど
可能：Wikipedia、Tabelogなど


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GJ5RWKQM74.jpg)

R簡単実装例1：テキストデータ取得
ウェブページを読み取り
ノード情報を読み取り
データ(テキスト、テーブ
ルなど)を読み取り


# Page. 7

![Page Image](https://bcdn.docswell.com/page/9E2DQWPRER.jpg)

R簡単実装例1：Wikiデータ取得(結果)
Web表示
スクレイピングした結果


# Page. 8

![Page Image](https://bcdn.docswell.com/page/D7Y2WL557M.jpg)

Rvestパッケージの関数
Name
Function
Sample
read_html()
ウェブページやHTML文字列を読み込み、解析済み read_html(&quot;https://example.com&quot;)
のHTMLドキュメントオブジェクトを作成する。
html_nodes()
HTMLドキュメントから指定したCSSセレクタや
XPathに基づいてノード（要素）を抽出する。
html_node()
html_nodes()と似ているが、最初にマッチしたノー html_node(doc, &quot;h1&quot;)
ドのみを返す。
html_text()
抽出されたノードからテキスト内容を取得する。
html_text(node)
html_attrs()
ノードのすべての属性を名前と値のペアで取得す
る。
html_attrs(node)
html_table()
HTMLテーブルをデータフレーム形式で抽出する。 html_table(node)
html_nodes(doc, &quot;div.class&quot;)
※ウェブページのノードやタグなど情報を確認するには、右クリックで「ページのソースを表示」をクリックする


# Page. 9

![Page Image](https://bcdn.docswell.com/page/VEN894N4J8.jpg)

R簡単実装例２：テーブルデータ取得
html_table() 関数でYahooから大阪の週間天気を取ってみよう。


# Page. 10

![Page Image](https://bcdn.docswell.com/page/Y79K2QR473.jpg)

Pythonとの比較
R言語(Rvest)
Python
構文
パイプ演算子、簡潔
汎用、複雑
パッケージ
少ない(Rvest,Rcurl)
豊富(Scrapy,Selenium)
ドキュメント
少ない、統計関連
豊富
パフォーマンス 小規模
大規模、マルチスレッド処理
ユーザー
IT開発者、データエンジニア
データサイエンティスト、統計er


# Page. 11

![Page Image](https://bcdn.docswell.com/page/G78R5GWVED.jpg)

まとめ：展開と注意事項
• 応用展開
- テキストやTableデータの取得を簡単例で紹介した。もう少しPGMを工夫して、例えば、定期的に
データを取得し、ある程度ボリュームなデータを蓄積してからの解析は可能となる
- 他に臨床研究にどこまで応用できるかに関しては、今のところはんーーーって感じ
• 注意事項
- 利用規約の確認
許可されないのが殆どですが、商用せずや自己研究の場合はウェブスクレイピングしても良いか
- 著作権などの法律の遵守
- ウェブスクレイピング実行時、サーバーに過度の負荷をかけらないこと
※もし何方か不正利用で夜中にパトロールさんが玄関に来たら、本スライドと私は一切責任を負いませんね。


# Page. 12

![Page Image](https://bcdn.docswell.com/page/L7LKYGNRER.jpg)

おしまい
ご清聴ありがとうございました！


