blogurlからRSSまたはATOMフィードURLを取得する方法
質問
ブログのURLからフィードURL(RSSまたはATOM)を取得する方法 例:- http://anirudhagupta.blogspot.com/ だから私はC#で彼のフィードを動的に取得する方法
私は、Regexとc#を使用してブログのfeedurlを取得する方法を言っています
解決
Rssフィードは、具体的に何を見たいかによって異なりますが、ブログスポットの場合は通常
ブログ名 / feeds / posts / default すなわち。 http://anirudhagupta.blogspot.com/feeds/posts/default
VS 2008を使用している場合、SyndicationFeedオブジェクトを使用してRSSフィードとATOMフィードの両方を読み取ることができます。 (<!> quot;彼のフィードを動的に取得する<!> quot;と言ったときにこれがやりたいことだと思います)
XmlReader reader = XmlReader.Create(feedUriString);
SyndicationFeed feed = SyndicationFeed.Load(reader);
foreach (SyndicationItem item in feed.Items)
{
//your code for rendering each item
}
http://msdn.microsoft.com/en -us / library / system.servicemodel.syndication.aspx http://jimleonardo.blogspot。 com / 2009/02 / jimleocom-is-back-up-some-how-to.html
他のヒント
サイトのルートページにアクセスすると、 http://myblog.com/ 次のようなリンク属性が頭にあります。
<link rel="alternate" type="application/rss+xml" title="MyBlog RSS Feed" href="http://feeds.feedburner.com/MyBlog" />
現在、頭にそのリンクがあることが保証されているサイトはありませんが、ユーザーがサイトにアクセスしたときに、FirefoxまたはInternet Explorerに小さなrssロゴを表示したい場合は、おそらくその行を追加しているでしょう。 Wordpressはデフォルトでそれを行います。
注:私の例は架空の例であり、実際のサイトではありません。ただし、ご存知のいくつかのブログのソースをご覧ください。このようなリンクタグが表示されます。
WebRequest
を使用してデータを読み取ります。Headers
からコンテンツタイプがわかります。content-type
がtext/xml
の場合、XmlReaderを使用して読み取りますが、text/html
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss"/ >
の場合、さらに作業が必要になる場合があります。
たとえば、アドレスは http://myblog.com です。 / feed / "rel =" nofollow "> http://myblog.com/feed/ をご覧ください。したがって、デフォルトページのリンクタグからrssアドレスを見つける必要があります。リンクタグは次のようになります。
Microsoft HTML Object Library
rssリンクを見つけるには、obj.getAttribute("href")
を使用してリンクタグを取得し、<=>メソッドを使用して相対アドレスを取得します。