как получить URL-адрес RSS-канала или ATOM-канала из blogurl

StackOverflow https://stackoverflow.com/questions/1821835

  •  10-07-2019
  •  | 
  •  

Вопрос

как я могу получить 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"), получить тег ссылки, а затем использовать метод <=>, чтобы получить относительный адрес.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top