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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4074閲覧

Javascript: サイト内にURLを貼ったときに埋め込み表示できるようにしたい。

rails_ruby

総合スコア87

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/08/09 05:04

#実現したいこと
イメージ説明
上記のようにURLを入力するとサイトのmeta情報が表示されるようにしたい。

html

1<a href="https://www.google.com/" target="_blank">google</a> 

自社のサイトに載せたいサイトのURLはa hrefを使用すれば使えることは知っているのですが、はてなブログのようなサイトのメタ情報を表示させることが出来なくて困っています。
おそらくjavascriptでやっていることは見当がつくのですが、どのようにして実現しているのかをアドバイスを頂けたら幸いです。

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

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

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

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

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

FiroProchainezo

2019/08/09 05:13

やりたいことがよくわからないのですが、画像のサイトはどこかにあるのですか?
guest

回答2

0

ベストアンサー

非同期でPHPなどを実行し、URLからHTMLを取得し、適宜meta情報を取得しているのではないでしょうか。
(JavaScriptだけではそこまで取れなかったと思う)

投稿2019/08/09 05:14

m.ts10806

総合スコア80850

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

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

rails_ruby

2019/08/09 05:17

なるほど。 サーバーサイド側でスクレイピングをし、取得したデータを反映させればいいんですね。 ご教示いただきありがとうございました。
m.ts10806

2019/08/09 05:21

ただ、スクレイピングは是非の検討が求められる技術です(私はどちらかというと非の方です)。 個人で勝手に情報を引っ張ってくるのが良いかというのは十二分に検討の余地があります。
rails_ruby

2019/08/09 05:25

スクレイピングを使用しない方法はあるのでしょうか?
m.ts10806

2019/08/09 05:29

descriptionから引っ張ってきていると思われるので、指定URLのHTML解析は必須でしょうね。
guest

0

この前同じようなものを作ったので、 ご参考になればと思います。

JavaScriptはCORSの制限があるため、 フロント側からajaxなどで他サイトの情報を通常取得することはできません。

m.ts10806さんの仰るようにPHPなどのサーバーサイドで取得する必要があります。
賛否が分かれるのはやはりスクレイピングによる負荷と画像その他の著作権になると思いますが、 通常のtitleやdescriptionといったタグは検索エンジンに表示される都合上公開している情報であるものの、 ogpタグに関してはSNS等の拡散/紹介を期待して公開しているものです。

このogpタグを利用することに関して、 著作権の侵害になるかどうかというのは、 弁護士ドットコムなどでは侵害にはなりにくいという回答を見られますが、 具体的な判例も少ないですし、 SNSの拡散は許諾していてもブログ等に許諾しているつもりはなかった、 なんていうこともありそうですから、 ogpタグの利用にしても一応事前に許諾を取ったほうが無難だと思います(リンクの数が多いというときは弁護士と相談してからogpを利用する必要がありそうです)。

手順としては、
許諾を取る ⇢ PHPなどでHTMLを取得 ⇢ ogpの情報を利用してブログカードを作る
ということになりますね。

PHPでogpタグを取得するのは phpQuery が簡単でした。
毎度スクレイピングする負荷を考慮するなら、 適当なファイルにogpの情報を保存したりなど工夫は色々できると思いますが、 こういったことも許諾を取ってからが無難ですね。
画像のリンクなどはロケットニュースとニコニコ動画などの例も参考になると思います。

法律周りの問題をクリアできれば、 ブログカードを作る事自体は難しくないです。
ベストアンサーはもうついているようですが、 たまたま見かけたので回答しました(^^)

投稿2019/08/10 01:12

編集2019/08/10 01:17
Newbi

総合スコア163

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問