Я разрабатываю программу для сканирования веб-страницы thenextweb.com по ее сообщениям (ссылкам, содержимому публикации, изображению, дате, автору и т. Д.)
HTML для его одного поста выглядит так:
<div class="media-data">
<h4><a href="http://thenextweb.com/mobile/2012/01/05/nokia-reportedly-to-appoint-f-secure-founder-risto-siilasmaa-as-new-chairman/">Nokia to Name Risto Siilasmaa as New Chairman</a></h4>
<p class="article-meta"><a href="http://thenextweb.com/mobile/">TNW Mobile</a> • <a href="http://thenextweb.com/author/matt/" title="Posts by Matt Brian" rel="author">Matt Brian</a> • <span class="date" title="1325748846">January 5, 2012</span></a></p>
<p>Nokia is reportedly planning to nominate and name Risto Siilasmaa, founder of Finnish anti-virus and computer security F-Secure, as its new chairman by the end of the month, Finland’s Helsingin Sanomat reports…</p>
</div>
Это HTML для следующих 15 сообщений на домашней странице.
Для доступа к его содержанию я использовал:
var webGet = new HtmlWeb();
var document = webGet.Load(url);
var infos = from info in document.DocumentNode.SelectNodes("//div[@class ='media-data']//h4//a")
select new
{
LinkURL = info.Attributes["href"].Value,
Text = info.InnerText
};
lvLinks.DataSource = infos;
lvLinks.DataBind();
и для доступа к информации об авторах, дате и т. Д. Я использовал:
var infos = from info in document.DocumentNode.SelectNodes("//div[@class ='media-data']//p[@rel = 'author']")
select new
{
Author = info.InnerText
};
lvLinks.DataSource = infos;
lvLinks.DataBind();
Я использовал управление списком для отображения данных на странице ASP как <li> <%# Eval("Text") %> - <%# Eval("LinkUrl") %> </li>
Но мне нужен способ, чтобы я мог получить доступ ко всем из них за один раз ... Не нужно писать другой код для ссылок, контента и других для автора, дата и т.д.
Может ли быть способ, чтобы я мог записывать и извлекать информацию в тегах <div class="media-data">... </div>
для любого нужного мне узла и сохранять его?
Пожалуйста, предложите это, так как очень важно приложить авторов, информацию о дате с самой ссылкой на пост. Я не могу этого сделать.
Спасибо