teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

意見交換

13回答

632閲覧

この操作はスクレイピングに当たるものか、教えて頂きたいです。

Refrain

総合スコア684

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2025/06/21 12:08

0

0

ブックマークレット形式で、以下のようなものを利用しています。

  • 開いているページのURL(location.href)とページのタイトル(document.title)、一部のHTML要素のデータ(document.querySelector('...').textContent)を取得する
  • 取得した情報をTwitterのツイート用URL(https://twitter.com/intent/post?...)へ渡す

手動操作の延長線上のツールとして利用してきていましたが、スクレイピングに関する質問をいくつか見ている中で気になってきています。
公開ページ上でユーザーが視認出来る情報のみを取得しており、前者の範囲内なので大丈夫なのかな?とは思っていますが、参考までに識者のご意見を頂きたいです。


参考までにCopliotの回答は以下のようになっていました。

一般的にはスクレイピングとはみなされないケース

  • ブックマークレットで現在のページのURLや document.title を取得し、Twitterに渡す
    • 手動で実行され、ページを開いたユーザー自身の視点でDOM情報を取得。
    • サーバーに追加リクエストを送らない。
    • 公開情報を個人利用またはSNS共有する範囲なら問題視されにくい。
  • YouTubeなどのサイトで、現在開いているページのDOMからタグ情報を取得
    • querySelectorなどによる1ページ内の要素取得は軽度なクライアント操作と見なされがち。
    • 利用規約的にグレーゾーンではあるが、常識的な範囲内の利用であればリスクは小。

スクレイピングとみなされる可能性があるケース

  • DOM取得を自動化して多数ページに適用する
  • ブラウザ外部(例:Selenium/Puppeteer)でページにアクセスして情報取得する
  • 取得情報を大量に蓄積・再利用・商用利用する
    YouTubeなど多くのサービスでは、非公式な自動取得やデータ収集行為を利用規約で禁じています。

まとめると、○○さんの現在の使い方は、個人利用の範囲で節度を保っていれば、実用的かつ問題視されにくいアプローチです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答13

#1

meg_

総合スコア10950

投稿2025/06/21 14:25

編集2025/06/21 14:29

公開ページ上でユーザーが視認出来る情報のみを取得しており、前者の範囲内なので大丈夫なのかな?とは思っていますが、参考までに識者のご意見を頂きたいです。

そのサイトの利用規約はどうなっていますか?
スクレイピングなのか否かよりも取得した情報をどう扱っていますか?転載等が禁止されている場合もありますがその辺りは確認済でしょうか?

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

Refrain

総合スコア684

投稿2025/06/21 15:48

編集2025/06/21 15:48

#1
利用に関しては文中に記載の通り、Twitterへのツイートのみです。
標準の共有機能もありますが文面の修正が手間だったのもあり、ページのタイトルとタグ、URLをブックマークレット側で取得してTwitterのintentページを開くのみとなっています(つまるところは、ユーザーが一般に可能な操作の自動化です)。

利用規約についてはサービス、又はコンテンツ(サービス内の音声、又は映像及び音声)へのアクセスや複製、ダウンロードといった行為は明示的に禁止されています。
ただ、今事例はサービスやコンテンツではなく、ローカル環境下のデータ(DOM)へのアクセスをしており、利用規約にて禁止されている行為ではないかと思われます。

また、実際のコード込みで投稿同様にCopilotで解釈を確認した限りでは、

  • ボットやスクレイピングでのアクセスなどはダメ
  • 営利目的などの場合はアウト
  • textContentの取得は非侵襲的読み取りに過ぎず、規約上も問題視されない
  • 投稿画面を開くのみでUIの改竄などは行われておらず、標準の共有機能と同義のため禁止されていない

といった具合で解釈されるようです。

一方で文中に記載の通り、度々話に挙がるスクレイピングと呼ばれる行為について、このブックマークレットのようなものが当てはまるのだろうか?と疑問で意見交換に投稿しました。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

meg_

総合スコア10950

投稿2025/06/21 16:28

この操作はスクレイピングに当たるものか、教えて頂きたいです。

当たると思います。
APIが提供されていればそれを利用するのが望ましいと思います。
”提供された方法以外でのアクセスを禁止”などと定められている場合は、スクレイピングは禁止されていると考えられます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

Refrain

総合スコア684

投稿2025/06/21 23:42

#3
なるほどです。
参考までにスクレイピングに当たると思われる理由など教えてもらえますか?
調べた限りでは自動で取得する行為とありましたが、今事例は手動で取得しているためどっちなんだ…?と悩んでいたところです。

ちなみに補足までですが「提供された方法以外での〜」については特に記載は無いようでした。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

bsdfan

総合スコア4921

投稿2025/06/22 01:01

編集2025/06/22 02:36

「スクレイピング」というものの定義に、自動かどうかは入っていないと思います。
自動化でやることが多いので、スクレイピング=自動というのが一般的なのかもしれませんが、このあたりをあいまいにしていると議論がぐちゃぐちゃになりそうです。

ただ、質問者さんのケースですが、ブックマークレットということは中でjavascriptあたりが動いていると思いますので、完全な手動ということではなく、自動化されているんじゃないですか? (プログラム実行のトリガーが手動だから自動ではない、ということにはならないのでは?)
なので、自動化しているものだけがスクレイピングだとしても、質問者さんの行為はスクレイピングに当たることになると思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

Lhankor_Mhy

総合スコア37463

投稿2025/06/22 03:42

編集2025/06/22 03:48

Xの規約を見てきました。

https://help.x.com/ja/rules-and-policies
https://help.x.com/ja/rules-and-policies/authenticity
https://developer.x.com/ja/developer-terms
https://developer.x.com/ja/developer-terms/agreement-and-policy

スクレイピングに関する直接的な言及はなされておらず、API利用ポリシーやコンテンツ再頒布ポリシーや制限回避行為ポリシーなどに分散されて規定されているようでした。正直よくわかりにくいのですが、自動化自体を禁止しているというよりも、投稿などのポリシーに反する自動化を禁止しているように読めます。

ご提示の投稿URLは、Xの機能として提供されているもののようですから、APIの不正利用には当たらず、各種ポリシーにも反しないだろう、と私は感じました。
https://developer.x.com/en/docs/x-for-websites/tweet-button/guides/web-intent

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#7

normal1980

総合スコア3

投稿2025/06/22 08:40

個人で使う範囲なら問題ないのではないでしょうか。

ツール、アプリとして作成し、公開、配布となると問題になるのではないでしょうか?

私もスクレイピングをしようとしましたが、
法律の知識もないのに、訴えられるリスクを背負ってまで、個人で開発する気にはなりませんでした。
たとえ、無償公開だとしても、サーバーに異常に負荷をかけ、企業のサーバーをダウンさせたりでも
したら、大変なことになると思います。
無理やり解釈で、スクレイピングができたとしても、私はスクレイピングはおすすめしません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#8

Refrain

総合スコア684

投稿2025/06/22 09:07

#6
Twitter側は恐らく大丈夫ですよね。
YouTube側の利用規約についてもスクレイピング行為に関しては明記されておらず、解釈上はこちらも大丈夫なのかな?とは捉えています(サービス、又はコンテンツへのアクセスはしていないため)。
単なるDOM情報の読み取りもスクレイピング扱いというのは認識が無かったので、今事例で勉強になりました。

#7
DOM情報の取得とTwitterのURLを開くだけのブックマークレットではあるので、仰るようなトラブルが引き起こされるとは思いにくいですが、確かに色々と注意はしなくては、ですね。
ある種一般人がする操作ではないので法律事務所の事例とかも挙がってませんし、難しいですね…

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#9

Lhankor_Mhy

総合スコア37463

投稿2025/06/22 09:21

編集2025/06/22 09:25

#6 で回答した者ですが、スクレイピングに当たるかどうかを示していなかったので再回答します。


ご質問のブックマークレットが「スクレイピング」当たるとすると、
「スクレイピング」の定義について、

  • Webページのデータの全部または一部を取得してまとめる行為である
  • 手段が自動か手動かを問わない
  • 単一ページであるか複数ページであるかを問わない

ということになると思うのですが、そうすると、どこかのページのテキストをコピペしてメモ帳に張り付けるのも「スクレイピング」に該当しますから、現実的に意味のある定義ではないと思います。


ですので、このブックマークレットを使用することがスクレイピングに当たるとは思えません。またこのブックマークレットをスクレイピングツールだと表現することにはかなり無理があると思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#10

Refrain

総合スコア684

投稿2025/06/22 09:28

#9
ブックマークレット作成以前からクリップボードにコピーしてツイートはしており、それと同じ動作でも扱いが変わるのか…?と疑問はありましたので、その視点の意見は嬉しいです。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#11

otn

総合スコア86341

投稿2025/06/22 18:13

最近、別の方の質問に回答しましたが、ウェブページのスクレイピングとは、HTMLに埋め込まれているデータを取り出すことです。全手動、半自動、全自動を問わず。

開いているページのURL(location.href)とページのタイトル(document.title)、一部のHTML要素のデータ(document.querySelector('...').textContent)を取得する

これはスクレイピングです。

取得した情報をTwitterのツイート用URL(https://twitter.com/intent/post?...)へ渡す

これは投稿なので、スクレイピングではないです。

ただ上記は「スクレイピング」の元々の意味の話であって、現在では「プログラムでウェブサーバーにアクセスして情報を取得すること」みたいな意味で使われることもあるので、「これはスクレイピングですか?」に対しては「その場合の"スクレイピング"とは何を指していますか?」と聞かないと答えようがないです。

参考までにCopliotの回答は以下のようになっていました。

の部分や、コメントを見るとおそらくあなたが考えるべき事は「この行為は(何らかの意味での)スクレイピングに当たるか?」ではなくて、「この行為は、法律やサイトの利用規約に反しているのか?」という事ではないでしょうか?法律はともかく、利用規約の話になるとサイト毎に判断することになります。


最初に戻って、

開いているページのURL(location.href)とページのタイトル(document.title)、一部のHTML要素のデータ(document.querySelector('...').textContent)を取得する
取得した情報をTwitterのツイート用URL(https://twitter.com/intent/post?...)へ渡す

が、利用規約に反するかは利用規約を熟読するしかないですが、取得については、ご認識の通りでウェブサーバーへのアクセスは手動でブラウザを操作して、ブラウザ内の情報をブックマークレットで取り出しているだけなのであれば、それを禁止する利用規約は考えにくいです。Twitter投稿についても問題はないかと思います。

法律については、ツイートする内容によっては、他人の書いた物をそのまま投稿した場合であっても、脅迫、名誉毀損、その他の各種違法行為に当たるかも知れませんが、今回は関係ないでしょうね。
後は著作権ですね。URLは著作物ではないです。ページタイトルも普通は著作物ではないでしょうが、中身をみて判断した方が安全です。
(参考:ニュースサイトの記事見出しが著作物か?という読売オンラインの判例では、一律に決めることは出来ないので個々に判断した結果で著作物でないと判断されていたはずです。東スポ的見出しだと著作物と判断されるかも知れませんね。この事件では著作物ではないがお金が掛かっているので利用料を払うべきという結論だったか)

「一部のHTML要素のデータ」は、間違いなく中身次第ですね。
著作物であってもなくても、自分だけの利用なら問題ないですが、もし著作物であれば、許可を得ずツイートするのは違法です(「著作権法に定める引用」などの例外はありますが、この形だと該当しないでしょう)。
鍵アカウントで自分しか見られない設定になっていれば大丈夫でしょうけど。

サイトによっては、「投稿内容の著作権のうち、再配布権などは譲渡可能なので投稿者でなくサイト運営者に帰属する」とか書いてあるケースもあった気がします。それが有効な場合は投稿者でなく、サイトが許可すれば再配布可能(ツイート可能)ですし、「これこれの条件であれば自由に再配布可能」と利用規約に書いてあるかも知れません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#12

Refrain

総合スコア684

投稿2025/06/22 23:28

#11
回答ありがとうございます。
利用規約については事前に確認はしていたのと、運用面(利用規約確認済みのページでのみ利用)で対応していたので、本投稿ではあまり議論するつもりが無く記載を省いたため、ある種誤解を生んだのかなと思っています。

途中にあるように"スクレイピングの意味"というのが少し不明に感じることがあり、今回の投稿に至った次第です。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#13

yambejp

総合スコア117837

投稿2025/06/23 01:20

編集2025/06/23 01:25

#12
ハラスメントと同じで受けた側が「攻撃」だと判断すれば訴えられる可能性は少なからずあります。たとえばURLを開いた状態でF5をしつこく連打すれば手動であっても攻撃です(F5攻撃)。

そういう観点では厳格なスクレイピングの定義を理解することは無意味で、スクレイピングかどうかではなく攻撃かどうかが論点になるでしょう。とくに情報提供側の公開サイトのインフラやシステムが脆弱であれば、ちょっとしたシステム負荷により障害が発生し、それによりアクセス側に攻撃の認識がなくても刑事民事的な責任を追求されるリスクは認識する必要があります。

また他のサービスに情報を転記することも無条件には許可されていません。以前まとめサイトが問題視されたときは単なるニュースの見出し記事を羅列することは「思想又は感情を創作的に表現」いわゆる創造性に当たらないとの判断もありましたが、ページ内の情報を転載するのであればかなり濃いグレーになると思います。転載を前提とするAPIを利用する以外なにかあったら自己責任だとご理解ください

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問