補足 として追記されているので:
PHPで「https://github.com/scottmac/opengraph」を使い、URLからタイトルとサムネイルを取得すること
XMLベースのRSSのように、異なるサイト間で情報共有したい情報を手軽に扱いたいよね。マークアップ言語だからできるよね。ということで、「opengraph protocol(和訳)」が誕生しました。
HTML文書のHEAD内に記述される meta 要素(property 属性値/ content属性値)を使い、Webページにアクセスすることで情報共有を簡単にするものです。
Open Graph Protocol helper for PHP(https://github.com/scottmac/opengraph)は、
そのタイトルどおり、meta要素で公開され、共有されるべき「メタ情報」を抜き取るコードです。
スクレイピングを乱暴に言えば、次の処理になります。
- 「マークアップ文書の字句解析」
- 「必要な情報の取得」
スクレイピングを応用するテーマとして複製があります。
- img[src] から取得したURL情報にある 画像ファイル
- script[src] から取得したURL情報にある javascript ファイル
- etc
JavaScript実行の危険性については
取得した JavaScript ファイルの複製物は
自分の運営するサイト内のHTMLに埋め込んで実行するかどうか、自分で決めることができます。
(Public Domain に等しいコードスニペットの寄せ集めに過ぎず、ソースを読んで挙動も納得した)
というのであれば、リスクは少ないでしょう。
しかし、複製したスクリプトを処理内容を把握もせずに使うのは危険極まりないです。
世界を見渡せば javascript 製キーロガーを作って公開してる人もいます。
悪意あるサーバーと組み合わせる方法でページ内で叩かれたキーの情報を抜き取る手法です。
MIT は Prototype.js の登場時に初めて目にしたライセンスですが、
最初の Help は「Read Source (ソース読め)」でした。
(追記)
iframeの必要性
上記で述べた「複製」による、法的な制限を簡単に回避したい場合もあります
(サービス提供者が、ユーザ自身が運営するブログなどのサイトに引用してほしい場合)。
これが iframe の必要性です。
スクレイピングも「サーバー要求し、応答された結果の文字列処理」のため、
許容される範囲は「マークアップ文書に現れる、文字列まで」という認識が正しいでしょう。
(サービス不能攻撃と見做されないような要求頻度の考慮は必要です)
スクレイピングも便利ですが 使い分ける 必要はあります。
(法整備が進んでいる現在は、両技術共に法的な制限下にあると考えたほうが良いです)