Tag: 请求

使用请求从url下载图像并保存到variables

有没有办法我可以从请求下载图像并将其保存到variables? request.head(url, function(err, res, body){ request(url).pipe(fs.createWriteStream(image_path)); }); 现在我将结果输送到写入stream。 但是,我想将其保存到一个variables,所以我可以在我的程序中使用它。 有没有办法做到这一点?

如何访问Node.js的请求模块的输出

有几个教程描述如何使用request和cheerio来抓取网站。 在这些教程中,他们将输出发送到控制台,或者将带有fs的DOMstream式传输到文件中,如下例所示。 request(link, function (err, resp, html) { if (err) return console.error(err) var $ = cheerio.load(html), img = $('#img_wrapper').data('src'); console.log(img); }).pipe(fs.createWriteStream('img_link.txt')); 但是如果我想在脚本执行期间处理输出呢? 我怎样才能访问输出或发送callback用函数? 当然,我可以加载img_link.txt并从那里获取信息,但是这样会花费很多而且没有意义。

是否有可能在github API上进行批量请求?

我希望能够获得一系列存储库的用户数组。 据我所知,实现这一目标的唯一方法是循环访问存储库并为每个存储库提出请求。 不幸的是,这消耗了我的api-hit-count,这个数目是5000 /小时。 有没有一种方法,我可以传递一个存储库的数组,并得到一个JSON的二维数组? 注意:我正在使用node.js来写这个 现在的情况 for( var iRepo=0; iRepo<repos.length; ++iRepo ) request(repo.stargazers_url, parseUserCallback ) 我想要做 request( batchEndpoint, {repos:repos}, parseRepoUserMapCallback ) 这似乎是可以用一个简单的谷歌search解决的东西,但search任何与“GitHub”在它只是提出了各种存储库。

我怎么能得到我实际发送的HTTP请求头在node.js http请求

这是我的简化代码: var request = http.request(options); request.on('response', function( res ) { console.log("response received"); }); request.end(); 我想打印出实际发送的请求标题(我假设该节点自己添加一些)我怎样才能得到它们?

NodeJs发出一个API重音错误的请求

我有一个问题,当我张贴JSON的口音(如éè…)服务器发回400错误的请求错误。 我不知道如何解决这个问题。 bodyStr ='{"name":"ééé"}'; //headers var headers = { 'Content-Type': 'application/json', 'Content-Length': bodyStr.length, 'X-Key' : this.xkey }; //http request request({ uri : this.httpHost + path, method: method, headers : headers, body : bodyStr }, function (error, response, body) { if (!error && response.statusCode < 400) { if (typeof successCallback == "function") { successCallback(JSON.parse(body), response); } […]

在Node.js请求模块上设置{“agent”:false}

如何在请求模块上设置“代理”为false? 比如我可以在http core [2]模块上做些什么? [1] http://npmjs.org/request [2] https://nodejs.org/api/http.html#http_class_http_agent

node.js请求中的多个函数

我试图从单个请求中的数据,像在代码波纹一样,但它不起作用。 当我尝试一个程序,它的工作。 如何在一个请求过程中调用多个过程? var fs = require('fs'); var request = require('request'); var cheerio = require('cheerio'); var link = "www.google.com"; request(link, function (error, response, html) { if (!error && response.statusCode == 200) { var $ = cheerio.load(html); //scrape class $('.someclass').filter(function () { var data = $(this); var description = data.html(); //write data to file fs.appendFile('description.txt', description […]

如何限制并发exectuions?

我想下载70个图像。 他们的完整大小约为100MB。 这是我简化的代码部分 function downloadImage(src){ var dst = '…'; request(src).pipe(fs.createWriteStream(dst)); return dst; } arrayOf70.forEach(function(e){ var thing = new Thing({ // … image: downloadImage(url) }); thing.save(); } 问题是有太多的并发下载。 好的第一步:通过一个巨大的超时要求。 request({url: src, timeout: 120000000}).pipe(fs.createWriteStream(dst)); 那么,因为它超过了操作系统的TCP超时,所以效果不好。 至less我认为这是问题。 无论如何,我正在得到超时连接 stream.js:94 throw er; // Unhandled stream error in pipe. ^ Error: connect ETIMEDOUT at exports._errnoException (util.js:746:11) at TCPConnectWrap.afterConnect [as oncomplete] […]

节点JS请求+快速pipe道

我有一个从服务器到另一个videostream文件的问题。 我写了这个脚本 var request = require("request"), express = require("express"); var app = express(); app.get("/cast", function(req, res) { var url = req.query.video; res.writeHead(200, { 'Content-Type': 'video/mp4' }); request({ url: url, headers: { Referer: "http://example.com/1706398/" + url } }) .on('response', function(response) { response.on('data', function(data) { console.log("data chunk received: " + data.length) }); response.on('end', function(data) { console.log('Video completed'); […]

从div内使用node.js检索文本

我目前正试图写一个刮板,将获得所有的'p'标签内的一个div内使用node.js 页面上的每个post都在div中,都有这个类:.text_exposed_root 有时在每个post内有多个“p”标签,所以如果可能的话,我需要抓取该div内的所有html文本。 我正在使用cheerio和请求模块,我的代码到目前为止如下: request(BTTS, function(error, response, body){ if (!error){ var $ = cheerio.load(body), post = $(".text_exposed_root p").text(); console.log(post); } else { console.log("We've encountered an error: " + error); } }) 我曾尝试使用.text。值和.html,但他们都只是返回一个空白的回应。 我猜我需要抓住所有的'P'标签内的该部分,并转换为string也许? 提前致谢。 编辑: var url = ('https://www.facebook.com/BothTeamsToScore'); request({url:url, headers: headers}, function(error, response, body){ if (!error){ var strippedBody = body.replace(/<!–[\s\S]*?–>/g, "") console.log(strippedBody); var $ […]