1

Facebook に似た機能を実装しようとしています。ユーザーがリンクを投稿すると、Facebook はリンクされた Web サイトをクロールし、最も関連性の高い (大きな) 画像を取得します。こことQuoraでいくつかの解決策を読みましたが、それらは主にPHPに関するものであり、実際には詳細な解決策を提供していません. 私が見つけた1つの答えは次のように述べていますが、Railsの初心者として、これがどのように行われるか完全にはわかりません:

1.CURLリクエストを行うだけです

2.HTMLパースで全ての画像を取得

3. Facebook などのようにユーザーが選択した画像を表示するか、最初の (デフォルト) 画像を表示します。

これを達成するために(組み合わせる必要がある場合でも)使用できる宝石はありますか?また、ユーザーが最も関連性の高い写真を選択できるようにするために JavaScript も必要だと推測していますが、それは優先度が高くありません。リンクから写真を見つけて、Amazon サーバーにアップロードできるようにしたいだけです。現在、Carrierwave を使用してそれを行っています。

4

3 に答える 3

2

いくつかのクローラーのRuby Toolboxを見ることができますが、あなたのニーズに完全に合うものはないと思います。

私はおそらく私自身の特定のソリューションを使用するでしょう..したがって、httpartyまたはRestClientで Web サイトを取得し、応答を解析し、 Nokogiriで画像を探します。選択のロジックはあなた次第です。

ただし、ユーザーが実際にリンクを投稿するときにこれを実行したくない場合は、ユーザー インターフェイスをブロックしないようにバックグラウンドで実行する必要があります。そのためにSidekiqのようなものをお勧めします。このスクリーンキャスト#366 Sidekiqをご覧ください。

于 2012-12-09T10:51:40.150 に答える
2

私はまさにあなたが必要とすることをするGemを公開しました:

https://github.com/rlarcombe/grabbit

これが役立つことを願っています!

于 2013-10-14T19:56:20.147 に答える
1

HTTParty と Nokogiri を使用して、ページからメタ データを取得します。最近では、ほとんどのページで Facebook のオープン グラフ タグが使用されています。これには通常、適切なサムネイルを作成するために使用できる画像/タイトル/説明が含まれています。

FB オープン グラフ タグの取得に関する適切な SO 投稿があります: How to parse og meta tags using httparty for rails 3

于 2013-07-16T19:05:00.217 に答える