独自で外部リンクを作れないでしょうか?

Simplicityの特徴 フォーラム 要望・機能追加など 独自で外部リンクを作れないでしょうか?

  • このトピックには7件の返信、2人の参加者があり、最後にMoriにより11年、 2ヶ月前に更新されました。
7件の返信スレッドを表示中
  • 投稿者
    投稿
    • #24847
      Mori
      ゲスト

      いつもお世話になっています。

      ブログカード機能の実装はありがたいのですが、はてぶ依存が気になって、利用はしていません。
      ブログの更新に外部リンクがどうしても必要なのでShareHtmlメーカーのブックマークを利用していました。
      https://dl.dropboxusercontent.com/u/2271551/javascript/sharehtmlmk.html

      ただ難点はリンク作成の度にポップアップが表示され、手間なので、現在は下記の方法でワンボタンでリンク作成を行っています。こちらはプラグインbrowser shotとブラウザChromeの拡張機能Copy URL+の機能を利用しています。
      http://webshufu.com/make-links-with-thumbnails/

      この度、書き込ませていただいたのは、こんな感じの機能を使って、はてブ依存せず、はてブのようなデザインが実現できないかと思ったからです。
      コードには疎く、現在のやり方ですでに外部依存しているのかもしれませんが

    • #24850
      hidekichi
      ゲスト

      ◆参考情報として。
      外部サイトの例えばmeta discription等を取得するというのはプログラム的には難しいわけではないのですが、セキュリティ的な問題で外部のファイルにアクセスできないサーバーがあったりして、Simplicityを色んな環境の人が使う事を考えると案外難しい問題ですよね。それでもアクセスできたりしちゃうんですけどね(Xdomainの場合)。

      PHP的な話をすると、file_get_contentsで目的のサイトのhtmlを取得できます。ただし allow_url_fopenがサーバーでonの時と言う条件です。php.iniがいじれてallow_url_fopenがonにできれば良いですが、前述した理由でonにできないサーバーもあったりします。
      そういう時には、cURLと言うのを利用してfile_get_contentsと同様の操作をすることができます。
      ウチのサイトですが、無料レンタルサーバーXdomainでfile_get_contentsが利用できない時の対処
      こんな感じでイケます。
      htmlが取得できたら任意のタグ部分を取り出すことも可能です。するとブログカードもスタイルするだけと言う感じになります。けどこういうのってPHPの知識も要りますし、htmlを取得したけどタグの中身はどうやって取り出すんだよとか、html取得したのに文字化けするじゃねーか、なんて事になるのが世の常です(笑)

      そこで、貼るだけの簡単なお仕事!WPの引用をリッチで快適に!とかを参考に独自にカスタマイズする必要があると思います。

      上記参考ページでは、Goutte(グットと読むらしい)を使っていますが、環境的な問題で使えない人もいると思うのでPHP Simple HTML DOM ParserとかphpQueryとかでスクレイピングできれば、あとは整えるだけなのです。データが取得できればcssでデザインするだけですから独自にブログカードを作ることは可能です。

      スクレイピングは相手がリバースプロキシを利用していたりキャッシュを利用しているようであれば別に問題が出る手段ではないのですが、引用の範疇を超えると勝手に利用するなと言われたり、サーバーに負荷をかけたりするので勘弁してくれと言われることもあります。常識を守って利用できたら面倒なことが楽にできたりするんですけどね。
      上記参考サイトの「まとめ」あたりにそのことに触れています。

    • #24851
      hidekichi
      ゲスト

      他の参考サイト
      WORDPRESSにスクレイピング機能をくっつける

      ちなみに、引用の範疇を超えるとGoogleなどにコピーサイトとして認識されたりして評価が落ちる場合があるので注意が必要です。近頃はPubSubHubbubなどで誰が最初に書いたかがすぐにわかってしまうのでなかなか難しい感じですね。

    • #24854
      Mori
      ゲスト

      >hidekichiさん

      丁寧な解説ありがとうございます。
      いろいろとやりようがあるんですね。それがわかったので助かりました。

      にしても、PHPのコードを見ると頭がくらくらしてきます。。。
      根気がいりそうです。。。現状でも十分といえば十分なのかもしれません。

      考えてみます。ありがとうございました

    • #24867
      アバター画像わいひら
      キーマスター

      ShareHtmlみたいに作るとしても、HeartRails Captureというサービスに依存することになります。
      Browser Shotsを使うと、プラグインに依存することになります。
      なので、どちらにしろ独自の外部リンクにはならないと思います。

      ShareHtmlのようにするにしても、HeartRails CaptureというWEBサービスを利用するので、それならはてなの方が大手なので信頼度も高いかと思います。
      プラグインの場合は、僕はWordpress Popular Posts以外のプラグインに依存した機能は、今後付けないようにするつもりなので実装はできないです。(Popular Postsも出来れば使用しないで、独自でPVを数えるようにすれば良かったと今は思っています)

      後の手段としては、以下の2つがあります。

      1.ページの表示時にWEBから情報を取得する
      2.情報を取得しておいてキャッシュしておく

      1は、取得するのにコスト(取得時間など)がかかり、ページの表示時間が遅くなりサイトにとっても良くないと思います。hidekichiさんの書かれているように、サーバーによって動作がわからないということもありますし、相手のサイトに負荷をかけてしまうことにもなります。

      2は、やるとしたら最も良いのかもしれませんが、機能の実装がかなり大変そうなので、無料のテーマにそこまで労力をかけたくありません。これも、1ほどではないですが、相手サイトに負荷をかけてしまいます。

      ということで、外部リンクを表示する場合は、現状でははてなを利用した方法が最も手軽だったということでご理解ください。
      はてな以外に、OGP情報を手軽に取得できる大手がやっているAPIなどがあれば、そういった時は機能追加するかもしれません。

    • #24869
      hidekichi
      ゲスト
    • #24873
      アバター画像わいひら
      キーマスター

      まさにそういうやつです。あるんですね。

      サポートや動作保証はいたしません。自己責任の範囲でお使いください。

      現在はアクセス制限をかけておりません。利用状況を見て、アクセス制限やサーバ増強等考えます。
      OGP(Open Graph Protocol)データ取得API■140note

      ただ、個人で運営されているようなので、不特定多数のブログからアクセスがあると、迷惑をかけてしまうかもしれません。

    • #24876
      Mori
      ゲスト

      >わいひらさん

      ありがとうございます。
      Share Htmlにしても外部依存なのですね。
      どういう形がいいのかを考えてみます!

7件の返信スレッドを表示中
  • トピック「独自で外部リンクを作れないでしょうか?」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)