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

помогите с Lenta.ru (или что-нить подобное) - полные версии



упорно не понимаю, как...
[code]
<?xml version="1.0" encoding="utf-8"?>
<Template type="ScriptUpdater">
<Url>http://lenta.ru/rss</Url>
<Title>Lenta</Title>
<Description>News</Description>
<Encoding>windows-1251</Encoding>
<UserAgent></UserAgent>
<ChannelTemplate><![CDATA[ var d = new Document(channel.url, channel.encoding);

var tags =d.getElementsByAttr("SPAN","class","dt");

var href = tags[0].parentNode.getElementsByTagName("a");

var hreff = href[0].getAttribute("href").substr(21,10);

var mdate = hreff.split("/");

var urlwrk=channel.url+hreff;

var d = new Document(urlwrk, channel.encoding);

var tags =d.getElementsByAttr("SPAN","class","title");

for (i in tags)

{

var href = tags[i].parentNode.getElementsByTagName("a");

var hreff = href[0].getAttribute("href");

var article = new Article();

article.id = hreff ;

article.url = hreff ;

var mtime1 = tags[i].parentNode.firstChild.innerText;

var mtime2 = mtime1.split(" ");

var mtime = mtime2[1].split(":");

article.date = new Date(mdate[0],mdate[1]-1,mdate[2],mtime[0]-3,mtime[1]) ;

article.encoding = channel.encoding;

article.agelimit = channel.agelimit;

article.header = tags[i].innerText;

channel.articles.push( article );

}

]]></ChannelTemplate>
<ArticleTemplate><![CDATA[ var d = new Document(article.url, article.encoding);

var node = d.getElementsByTagName("h2")[0];

for ( var n = node.previousSibling; n; n = n.nextSibling)

{

if (n.outerHTML.indexOf("links") !=-1) break;

else {article.body += n.outerHTML;}

}

]]></ArticleTemplate>
<IsRSSBased>True</IsRSSBased>
</Template>
[/code]
Это должно сработать :)
<?xml version="1.0" encoding="utf-8"?>
<Template type="ScriptUpdater">
  <Url>http://lenta.ru/rss</Url>
  <Title></Title>
  <Description></Description>
  <Encoding>windows-1251</Encoding>
  <UserAgent></UserAgent>
  <ChannelTemplate><![CDATA[]]></ChannelTemplate>
  <ArticleTemplate><![CDATA[try{
	article.body = '';
	var d = new Document(article.url, channel.encoding);
 
	var nodes = d.getElementsByAttr('td', 'class','statya');
	if (nodes.length == 0) nodes = d.getElementsByAttr('td', 'class','content');
	if (nodes.length == 0) nodes = d.getElementsByAttr('table', 'class','zametka');
	if (nodes.length == 0) nodes = d.getElementsByAttr('div', 'id','content')[0].getElementsByAttr('div', 'class', 'inner');
 
 
	for (var i=0; i<nodes[0].childNodes.length; i++){
		var cn = nodes[0].childNodes[i];
		if (cn.innerHTML.indexOf('text/javascript') <0 
			&& cn.innerHTML.indexOf('iframe') <0
			&& cn.innerHTML.indexOf('Сайты по теме') <0
			&& cn.innerHTML.indexOf('Ссылки по теме') <0
			) 
			article.body += cn.outerHTML;
	}
 
 
}catch(ex){errorMessages.Add(ex + article.url);}]]></ArticleTemplate>
  <IsRSSBased>True</IsRSSBased>
</Template>