質問: ### 前提・実現したいこと ユーザが投稿したURLからテキストと画像を取得したいです。 (Twitterの投稿画面でurlを貼り付けるとurl先のプレビュー表示がされるような機能です。) またテキスト・画像の取得をiOSで実装するのかRailsなどサーバーサイトで実装したほうがいいかなどもわかっておりません。 ### 調査したことして実装方法を考えてみました。 1WebViewで表示 string imageviewとして取得できない。 2URL先のHTMLをパースしてテキスト・urlを取得 => タグの書き方が無数にあるので取得することが難しい。 3URL先からRSSのurl情報を取得してXMLをパースする。 => 1.RSSからurlを取得する(数パターン用意: RSS RSS2.0 Atom など) 2.xmelをパースする。 ### アドバイスいただきたいこと。 上記の3の方法なら実現できるかなっと考えているのですが、3でもRSSの情報が定義されたURLのみしかテキストと画像が取得できません。 TwitterやほかのサービスでもURLからテキストと画像を取得している機能を見るのですが、どのように実装しているのでしょうか。 アドバイスいただきたいです。
回答: サーバサイドで実行する方法を示します。 Twitterが取得する画像はmeta情報として指定できます。 ``` ``` Twitterでのツイートも上記のmeta情報がなければ`bodyタグ内で一番最初に見つかるimgタグ` などの規則で取得していると思われます。 その場合、`Nokogiri`というgemで実現できます。 ``` html = Nokogiri::HTML(open('http://www.nokogiri.org/tutorials/installing_nokogiri.html')) first_image = html.css('img').first image_url = first_image.attributes['src'].try(:value) if first_image ``` iOS(swift?)でもURL指定でスクレイピングできるライブラリがあればそちらを用いたらサーバ側での実装はしなくてもいいかもしれません。