Articles of rss

为什么模块导出variables是空的?

我是nodejs的新手。 这是我的.js文件。 我试图将audioDatavariables暴露给其他函数。 audioDatavariables的值在函数外部是空的。 当我在函数内部打印时,我看到了这个值。 什么可能是错的? 'use strict'; var asyncrequest = require('request'); var xml2js = require('xml2js'); var parseString = xml2js.parseString; var audioData = []; asyncrequest("http://example.com/feed", function(error, responsemeta, body) { parseString(body, function(err, result){ var stories = result['rss']['channel'][0]['item']; console.log("Total stories: " + stories.length); stories.forEach(function(entry) { var singleObj = {} singleObj['title'] = entry['title'][0]; singleObj['value'] = entry['enclosure'][0].$.url; audioData.push(singleObj); }); […]

Alexa Skill FeedHelper.js – 我如何获得机箱的url?

我正在使用亚马逊的蓝图来开发Alexa饲料技能。 在这个蓝图中,RSS源从一个URL被调用并转换成JSON格式并保存在Amazon S3上。 这个文件负责做这个动作(对于标准的元素来说它是很好的) https://github.com/alexa/skill-sample-nodejs-feed/blob/master/lambda/custom/feedHelper.js 我现在也需要shell的url,因为我想播放一个播客。 我认为这将通过添加以下内容到第63行的feedHelper.js中: if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure'].attributes['url']; } 但是S3在这个文件的帮助下生成的JSON在那里仍然没有包含元素。 我甚至把它调用正确吗? 我也试过了: if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure'].url; } 和 if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure']['url']; } 另一个问题是,audio链接与https://链接,亚马逊不接受HTTP …但是,当我在浏览器栏中手动将此地址与https放在前面时,下载工作正常。 所以希望我能够把这个机箱标签中的HTTP改成https,就像这里所描述的那样? http://code.dblock.org/2017/02/09/alexa-skill-to-play-your-podcast.html 所以总结上面:我需要从RSS提要这个元素 <enclosure type="audio/mpeg" url="http://feeds.soundcloud.com/stream/file.mp3" length="7087881"/> 写入使用feedHelper.js创build的JSON中 目前,尽pipe我的代码如上,但它并没有在json中生成任何机箱元素。 有没有人有一个想法? 谢谢!

使用Google Feed API和Node.js订阅RSS Feed

从一个Node.js服务器,我连接到Google Feed API( https://stackoverflow.com/a/22821516/3303704 )。 但它似乎加载整个RSS源每次使用它。 因为我想跟随很多RSS提要,所以不会是可扩展的。 我怎么能RSS订阅,这是推送到我的服务器只有新的项目的RSS源,因为它们发布? 此处描述的解决scheme( http://googleajaxsearchapi.blogspot.com/2010/05/google-feed-api-now-with-instant.html )似乎不起作用… 如果它是有用的,那么我对RSS源的项目做什么是:(1)只select链接到1500字以上的文章(为了我使用Cheerio)和(2)保存这些链接到数据库(MongoDB ,用Mongoose连接到服务器)。

我应该在等待事件发生时明确地创build一个承诺吗?

我正在写一个函数来获取rss订阅并返回上次更新的date: var FeedParser = require('feedparser'), Promise = require('bluebird'), request = require('request'); function getDate() { var deferred = Promise.defer(); var feed = new FeedParser(); request('rss.xml'); .on('response',function() { this.pipe(feed); }); feed.on('meta',function() { deferred.resolve(this.meta.date); }); return deferred.promise; } 这是反模式吗? 什么是正确的方法来做到这一点?

Node.js – Craigslist批量发布API(无法parsingrss)

我正在使用craigslist的批量发布API。 我写了一个如下所示的快速脚本: var https = require('https'); var posting = '<?xml version="1.0"?><rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cl="http://www.craigslist.org/about/cl-bulk-ns/1.0"><channel><items><rdf:li rdf:resource="NYCBrokerHousingSample1"/><rdf:li rdf:resource="NYCBrokerHousingSample2"/></items><cl:auth username="example@example.com" password="example" accountID="14"/></channel><item rdf:about="NYCBrokerHousingSample1"><cl:category>fee</cl:category><cl:area>nyc</cl:area><cl:subarea>mnh</cl:subarea><cl:neighborhood>Upper West Side</cl:neighborhood><cl:housingInfo price="1450" bedrooms="0" sqft="600"/><cl:replyEmail privacy="C">bulkuser@bulkposterz.net</cl:replyEmail><cl:brokerInfo companyName="Joe Sample and Associates" feeDisclosure="fee disclosure here" /><title>Spacious Sunny Studio in Upper West Side</title><description><![CDATA[posting body here]]></description></item><item rdf:about="NYCBrokerHousingSample2"><cl:category>fee</cl:category><cl:area>nyc</cl:area><cl:subarea>mnh</cl:subarea><cl:neighborhood>Chelsea</cl:neighborhood><cl:housingInfo price="2175" bedrooms="1" sqft="850" catsOK="1"/><cl:mapLocation city="New York" state="NY" crossStreet1="23rd Street" crossStreet2="9th Avenue" latitude="40.746492" […]

我不能从这个RSSparsing器得到任何东西

我有一个SQL数据库与RSSurl。 我想用cron来每隔几个小时触发一次feed的请求(cron被设置为每分钟得到一个回报)。 当我得到一个回报,我想把这些到一个聚合网站的数据库。 这是我所能得到的。 我知道有东西看起来不能放在手指上。 cron.schedule('* * * * *', function () { router.get('/', function (req, res) { pool.connect() .then(function (client) { client.query( 'SELECT * FROM rss_url;') .then(function (result) { client.release(); result.forEach(function (rss) { parser.parseURL(rss, function (err, parsed) { console.log('parsed.feed ', parsed.feed); parsed.feed.entries.forEach(function (entry) { console.log('entry ', entry); client.query( 'INSERT INTO article (contentSnippet, guid, link, […]

确定NodeJS中RSS内存泄漏的原因

我最近偶然发现从MongoDB迁移到Postgresql后,Node.js应用程序中的内存泄漏。 代码在Node.js v 0.10.x上运行。 代码和它的依赖是100%写在JS中。 我正在使用pg.js模块来访问数据库。 问题是,我看到节点的RSS增长(直到进程崩溃),而不是堆,而不是V8外部存储器(通过–trace_external_memory标志logging)。 这就是为什么没有任何工具在V8堆中发现泄漏正在帮助我。 什么可能是这个内存泄漏的原因? 例如,是否有可能有泄漏相关的Buffer实例不会出现在外部存储器日志?

React / Express – 服务器端渲染如何与我的dynamic页面一起工作

所以我正在build立一个基于文章的应用程序使用反应和expression。 我的应用程序由3个静态页面和1个dynamic文章页面组成。 在这个时候,我的文章的数据来自RSS源。 dynamic文章页面显示不同的文章,取决于哪些文章RSS项目通过道具传递给它。 我的问题是: SSR如何与search引擎爬虫一起了解我的文章? 所以如果我要search“我的网站Article Foo”或“我的网站文章栏”,那么它会如何知道这些不同的文章存在? 因为就目前而言,这篇文章的url是这样的: www.mySite.com/articles?articleId=1 www.mySite.com/articles?articleId=2 www.mySite.com/articles?articleId=3 即使我没有使用RSS提要,也不使用数据库,这个概念是如何工作的? 任何帮助或build议表示赞赏,谢谢你提前。 PS。 我不确定这是否是正确的堆栈交换站点,如果有更合适的堆栈交换站点,请让我知道,所以我可以移动它。

ENAMETOOLONG请求xml文件

我正在尝试通过node的请求模块获取我的RSS数据源(xml文件),如下所示: var fs = require('fs') , request = require('request') , feed = 'http://www.benchmark.pl/rss/aktualnosci-pliki.xml'; request.get(feed, function(error, response, body) { if (!error && response.statusCode == 200) { var csv = body; fs.createReadStream(body) .on('error', function (error) { console.error(error); }); } }); 但我得到的错误: { [Error: ENAMETOOLONG, open '<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <title> …. </rss> 在这种情况下我该怎么办?

我如何在node.js中创build一个rss文件?

我将如何去生成或更新node.js中的rss文件? 谢谢