как получить URL-адрес RSS-канала или ATOM-канала из blogurl
Вопрос
как я могу получить URL канала (RSS или ATOM) из URL блога пример:- http://anirudhagupta.blogspot.com/ Итак, как я могу динамически получать его канал с помощью c#
я говорю о том, как я могу получить feedurl блога, используя регулярное выражение и c#
Решение
Каналы Rss могут варьироваться в зависимости от того, на что вы конкретно хотите посмотреть, но для blogpot это обычно
название_блог / каналы / сообщения / по умолчанию то есть. 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 / библиотека / system.servicemodel.syndication.aspx http: //jimleonardo.blogspot. ком / 2009/02 / jimleocom-это-назад-вверх-некоторые-как-to.html
Другие советы
Когда вы посещаете корневую страницу сайта, т.е. http://myblog.com/ вы должны найти атрибут ссылки в заголовке, что-то вроде:
<link rel="alternate" type="application/rss+xml" title="MyBlog RSS Feed" href="http://feeds.feedburner.com/MyBlog" />
Сейчас ни один сайт не гарантированно содержит эту ссылку в заголовке, но если они хотят, чтобы этот маленький логотип rss отображался в firefox или Internet Explorer при посещении их сайта пользователями, они, вероятно, добавили эту строку.Wordpress делает это по умолчанию.
Примечание:Мои примеры - это всего лишь вымышленные примеры, а не реальные сайты.Но просто посмотрите на источник нескольких известных вам блогов, и вы должны увидеть тег ссылки, подобный этому.
Используйте WebRequest
для чтения данных, и из Headers
вы узнаете тип контента, если content-type
равен text/xml
, вы просто используете XmlReader для его чтения, но если text/html
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss"/ >
, возможно, вам придется больше работать.
Например, адрес: http://myblog.com , а не http://myblog.com/feed/ , который вы хотите. Поэтому вам нужно найти адрес rss из тега ссылки на странице по умолчанию, тег ссылки выглядит следующим образом:
Microsoft HTML Object Library
Чтобы найти ссылку rss, вы можете использовать obj.getAttribute("href")
, получить тег ссылки, а затем использовать метод <=>, чтобы получить относительный адрес.