[Обновление - Общий ответ]
Как вы уже упоминали, RSS-каналы - ваш лучший способ получать обновленные новости. Они легко потребляются и предоставляют стандартный интерфейс для данных на основе статей. Например, у CNN самая большая история в http://rss.cnn.com/rss/cnn_topstories.rss. При просмотре новостных сайтов с помощью Firefox он отображает значок RSS в адресной строке, если на сайте есть RSS-каналы, что облегчает поиск каналов.
<ч />
Поскольку вы помечаете это как C # и ASP.Net, я отвечу на него с точки зрения кодирования.
Многие новостные сайты предлагают RSS-каналы, и их можно использовать с классом SyndicationFeed , представленным в .Net 3.5. Класс SyndicationFeed
поддерживает как Atom 1.0, так и RSS 2.0.
Самая важная часть при использовании фидов, на мой взгляд, заключается в их кэшировании, чтобы вы не загружали фид для каждого обращения на своей веб-странице. От того, где вы получаете ваш канал, зависит от того, какие темы вы хотите и где вы находитесь.
Вот краткий пример.
// Check cache for data
IEnumerable<SyndicationItem> items = Cache["NewsFeed"] as IEnumerable<SyndicationItem>;
if (items == null)
{
// Not in cache, go get it!
try
{
SyndicationFeed news = SyndicationFeed.Load(XmlReader.Create("http://www.news.corp/feed.xml"));
items = news.Items;
}
catch
{
items = new List<SyndicationItem>();
}
// Add the items to the cache
Cache.Insert("NewsFeed", items, null, DateTime.Now.AddHours(1.0), TimeSpan.Zero);
}
// Bind your data somewhere