2012-01-02 6 views
3

私はちょうどレールを学び始めました。 1つのリンクの解析について理解してもらえますか?あなたがリンク添付言った後、それはAのタイトル、内容、画像を取得するためのリンクを解析して..あなたはディグ、フェイスブックなどにリンクを提出タイトル、コンテンツをレールでリンクを介して取得

:良いチュートリアルでは、あまりにも...

質問をするのに役立ちます特定のURL。同様のことをレールでどのように実装できるか教えてください。

私はfeedzirraなどのフィードパーサーを見てきましたが、完全なウェブサイトフィードを取得しているようです。私たちが探しているリンクだけでなく、どこかで間違いをしていますか?

ありがとうございます。

+1

Embedly?一般目的のスニペットhttp://embed.ly/のウェブサービスです。ビデオ、写真などの専門コンテンツの場合は、oEmbed標準を使用できます –

答えて

6

あなたがピズモような何かを探しているかもしれないように見えます:https://github.com/peterc/pismo

require 'pismo' 

# Load a Web page (you could pass an IO object or a string with existing HTML data along, as you prefer) 
doc = Pismo::Document.new('http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html') 

doc.title  # => "Cramp: Asychronous Event-Driven Ruby Web App Framework" 
doc.author # => "Peter Cooper" 
doc.lede  # => "Cramp (GitHub repo) is a new, asynchronous evented Web app framework by Pratik Naik of 37signals (and the Rails core team). It's built around Ruby's EventMachine library and was designed to use event-driven I/O throughout - making it ideal for situations where you need to handle a large number of open connections (such as Comet systems or streaming APIs.)" 
doc.keywords # => [["cramp", 7], ["controllers", 3], ["app", 3], ["basic", 2], ..., ... ] 

画像の注意点は次のとおりです。

画像抽出のみを絶対URL

4

で画像を扱いますootoovakの答えは正しいですが、私は代わりのmechanizeを使用することを好む。これを機械化使用すると、あなたのために働くだろう:

agent=Mechanize.new # Creates a new Mechanize Object 
agent.get("http://domain.de/page.html") # This fetches the page given as parameter 
agent.page.title # This will return the title of the page 

Mechanizeのは、単にあなたのGemfilegem 'mechanize'を追加し、bundle installを実行してインストールします。

2
> Mechanize.new.get('http://google.com').title 
=> "Google" 

ことを確認しますrequire 'mechanize'やあなたGemfilegem 'mechanize'を追加しました。

関連する問題