== livedoor-feeddiscover - The fastest feed auto-discovery

=== DESCRIPTION

livedoor-feeddiscover performs feed autodiscovery using the livedoor Feed Discover API.

livedoor Feed Discover API find a Atom/RSS feed(s) from the livedoor Reader crawler database.
So, livedoor-feeddiscover do not access the target URL.

* Feed Discover API[http://wiki.livedoor.jp/staff_reader/d/Feed%20Discover%20API] (API Spec, Japanese)
* Reader[http://reader.livedoor.com/reader/] (Fastest RSS reader, Japanese)


=== SYNOPSIS

require "rubygems"
require "livedoor/api/feed_discover"

# find feed of matz blog.
matzblog = Livedoor::API::FeedDiscover.find(
"http://www.rubyist.net/~matz/",
"User-Agent" => "YourCoolApp/1.0 (+http://your.cool.app)")
if matzblog.feeds?
puts matzblog.feed.source # specified argument
puts matzblog.feed.link # blog link
puts matzblog.feed.feedlink # feed link
puts matzblog.feed.image # blog logo (channel image)
puts matzblog.feed.icon # favicon
puts matzblog.feed.title # blog title (UTF-8 string)
puts matzblog.feed.description # blog description (UTF-8 string)
puts matzblog.feed.official? # auto discover-able?
puts matzblog.feed.thirdparty? # thirdparty feeds? (not official)
puts matzblog.feed.subscribers_count # subscribers in livedoor Reader
puts matzblog.feed.avg_rate # average rate in livedoor Reader
end

# FeedDiscover.find can take multiple links (max 1000).
feedlist = Livedoor::API::FeedDiscover.find("http://rubyforge.org/", "http://raa.ruby-lang.org/")
puts feedlist.feedlinks

# generate OPML for Japanese rubyist blogs linked from Ruby hotlinks.
RUBY_HOT_LINKS = "http://www.rubyist.net/~kazu/samidare/"
rubyist_jp = Livedoor::API::FeedDiscover.find_from(RUBY_HOT_LINKS)

open("rubyist-jp.opml", "w") do |w|
w.puts rubyist_jp.opml
end

rubyist_jp.each do |feed|
puts feed.link
puts " ==> #feedfeed.feedlink (#? 'thirdpary' : 'official')"
end


=== DEFAULT USERAGENT

livedoor-feeddiscover/x.y.z (+http://feeddiscoverapi.rubyforge.org)


=== BENCHMARK

vs feed-discover[http://rubyforge.org/projects/feed-discover/].

> ruby examples/benchmark.rb
Start auto-discover for 4 blogs ------------------------------------
http://www.rubyist.net/~matz/
http://rubyforge.org/
http://raa.ruby-lang.org/
http://jruby.codehaus.org/

user system total real
feed-discover 5.234000 0.234000 5.468000 ( 13.797000)
livedoor-feed-discover 0.000000 0.000000 0.000000 ( 0.078000)

Results ------------------------------------------------------------
feed-discover: found 3 feeds.
livedoor-f-d: found 3 feeds.

Diffs --------------------------------------------------------------
http://www.rubyist.net/~matz/
feed-discover: http://www.rubyist.net/~matz/comments.rdf, http://www.rubyist.net/~matz/index.rdf
livedoor-f-d: http://www.rubyist.net/~matz/index.rdf


=== REQUIREMENTS

* json[http://rubyforge.org/projects/json/]


=== SEE ALSO

* feed-discover[http://rubyforge.org/projects/feed-discover/]


=== INSTALL

[Unix]
sudo gem install -y livedoor-feeddiscover

[Windows]
gem install -y livedoor-feeddiscover


=== COPYRIGHT

Copyright (c) 2007 MIYAMUKO Katsuyuki.

livedoor-feeddiscover is released under an MIT license.
See License.txt[link:files/License_txt.html] for full license.


=== OTHER STUFF

Author:: MIYAMUKO Katsuyuki <mailto:[email protected]>
Home URL:: http://feeddiscoverapi.rubyforge.org
Project URL:: http://rubyforge.org/projects/feeddiscoverapi
Blog (Japanese):: id:miyamuko[http://d.hatena.ne.jp/miyamuko/]