Форумы: Помощь:

Вопрос



Можно ли из конечного "тела" новости исключить определенные элементы, к примеру во многих конечных новостях остаются такие пункты как: ссылки по теме, оставить коментарии и тд. Можно ли в коде дописать к примеру оставить var el = d.getElementsByAttr("div", "class" , "content")[0]; исключая ненужный фрагмент?
Можно, только зайти нужно с другой стороны. Вызывая d.getElementsByAttr("div", "class" , "content")[0] вы получаете коллекцию элементов. Пройдя ее в цикле, нужно складывать в тело новости только необходимые элементы, пропуская ненужные.
Да, я понимаю. К примеру канал http://feeds.rss-farm.ru/Spiker/Lenta_progress я так сказать уже дошел до конечного тела новости и если его делить дольше то там получаются отдельные фрагменты - заголовки, обзацы и пр. Оставил собственно само тело новости, но там имеются фрагменты ссылки на похож. темы, ссылки. Вот я и хочу узнать можно ли от них избавить, т.к. сильно раздражают)))
Примерно так:
article.body = '';
var d = new Document(article.url, channel.encoding);
var el = d.getElementsByAttr("td", "style" , "background:#EFEDDF; padding:8px 0 12px 16px")[0].childNodes;
 
var ok = false;
for (var i=0; i< el.length; i++){
	if (el[i].getAttribute('class') == 'links' || el[i].getAttribute('class') == 'bottom-menu')
		ok = true;
 
	if (!ok)
		article.body += el[i].outerHTML;
}