Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const jsdom  = require('jsdom');
  2. const cheerio = require('cheerio');
  3.  
  4. const { JSDOM } = jsdom;
  5.  
  6. var patterns = [/(<!\[CDATA\[|\]\]>)/g,
  7.     /(<!\[CDATA\[|\]\]>|<[^br].*?>|<br\/>|<br><br><a.*?>.*?<\/a>)/g,
  8.     /<br><br>/g];
  9.  
  10. var rss = async function(maxLength) {
  11.     var dom = await JSDOM.fromURL("https://www.everyeye.it/feed/feed_news_rss.asp", { referrer: "https://www.everyere.it/feed/feed_news_rss.asp" });
  12.  
  13.     var news = { title: [],
  14.                  description: [],
  15.                  link: [],
  16.                  creator: [],
  17.                  pubDate: [] };
  18.  
  19.     const $ = cheerio.load(dom.serialize(), { decodeEntities: false });
  20.  
  21.     var articles = $('item');
  22.     var length = maxLength > articles.length ? articles.length : maxLength;
  23.  
  24.     for(var i = length - 1; i >= 0; i--) {
  25.         news.title[i] = ($($(articles[i]).find('title')[0]).html()).replace(patterns[0], "");
  26.         news.description[i] = ((($($(articles[i]).find('description')[0]).html()).replace(patterns[1], "")).replace(patterns[2], "\n")).replace(/<br>/g, "");
  27.         news.link[i] = $($(articles[i]).find('guid')[0]).text();
  28.         news.creator[i] = $($(articles[i]).find('dc\\:creator')[0]).text();
  29.         news.pubDate[i] = $($(articles[i]).find('pubDate')[0]).text();
  30.     }  
  31.  
  32.     return new Promise(function(resolve, reject) { resolve(news) });
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement