国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

node.js - 對將近2000個網頁發起同時20個的并發請求,出去request請求失敗

瀏覽:175日期:2024-08-04 11:51:57

問題描述

代碼不長,如下,爬取的是 雪中悍刀行的所有章節內容

var http = require(’http’);var $ = require(’cheerio’);var async = require(’async’);var iconv = require(’iconv-lite’);var fs = require(’fs’);var chapterNo = 1;var url = ’http://www.biquku.com/0/761/’, hrefList = {};var curCount = 0;var getChapter = function(url, cb) { ++ curCount; console.log(’讀取:’ + url + ’中, 同時有’ + curCount + ’并發中’); var req = http.request(url, function(res) { var buffer_arr = []; var buffer_len = 0; if (res.statusCode == 200) { res.on(’data’, function(chunk) {buffer_arr.push(chunk);buffer_len += chunk.length; }); res.on(’end’, function() {var $content = $(iconv.decode(Buffer.concat(buffer_arr, buffer_len), ’gbk’)).find(’#content’).text();-- curCount;cb(null , $content); }) } else { console.log('status: ' + res.statusCode); getChapter(url, cb); } }); req.on(’error’, function(err) { console.log(’request-err’); console.error(err); }) req.end();}var req = http.request(url, function(res) { var buffer_arr = []; var buffer_len = 0; res.on(’data’, function(chunk) { buffer_arr.push(chunk); buffer_len += chunk.length; }); res.on(’end’, function() { var $html = $(iconv.decode(Buffer.concat(buffer_arr, buffer_len), ’gbk’)); var $urls = $html.find(’#list>dl>dd>a’); var $a = ’’; for (var i = 0; i < $urls.length; i++) { $a = $($urls[i]); hrefList[$a.text()] = (function(url) {return function(cb) { setTimeout(function() { getChapter(url, cb); }, 0)} })(url.concat($a.attr(’href’))); } console.time(’novel’); async.parallelLimit(hrefList, 20, function(err, res) { if (err) {console.log('parallel-err:');console.error(err); } else {for (var key of Object.keys(res)) { var fileName = ’./’ + key + ’.txt’; (function(key){ fs.writeFile(fileName, res[key], function(err) { if (err) {console.log(’writefile-err:’);console.error(err); } else {console.log(key + ’: success’); } }) })(key)}console.timeEnd(’novel’); } }) })})req.on(’error’, function(e) { console.error(e);})req.end();

然后下面是請求報錯的地方node.js - 對將近2000個網頁發起同時20個的并發請求,出去request請求失敗

希望大家能告訴我下,怎么解決呢?還有我這個算并發請求嗎,因為我是通過setTimeout(func,0)這樣來發起發起http請求的?經過后來測試發現,200多張能成功讀取,到了300就會發生錯誤了。。

問題解答

回答1:

你這個確實是并發請求,20個會不會有點多,可能這個服務器扛不住了吧。 調小一點比如10個或5個并發試試呢

更新:剛才在我電腦上跑了下你的這段代碼,沒有出現問題描述中的錯誤。大概也許還有個原因是你的網不行吧。

主站蜘蛛池模板: 日韩美女专区中文字幕 | 欧美成人毛片免费网站 | 国产精品三级国语在线看 | 国产成人咱精品视频免费网站 | 国产高清视频在线 | 久草在线中文 | 999久久久精品视频在线观看 | 亚洲欧美国产中文 | 美女张开腿让男人 | 国产亚洲人成a在线v网站 | 国产成人一区二区三区在线播放 | 亚洲欧美高清在线 | 性久久久久 | 精品国产96亚洲一区二区三区 | 美女视频永久黄网站在线观看 | 狠狠色噜狠狠狠狠色综合久 | 日韩理论视频 | 成人精品在线视频 | 欧美性猛交xxx免费看人妖 | 亚洲国产精品成人午夜在线观看 | 手机看片国产免费 | 欧美三级欧美成人高清www | 成年人在线免费观看视频网站 | 国产综合成人久久大片91 | 经典三级久久久久 | 日韩在线欧美在线 | 亚洲成人高清 | 成年午夜性爽快免费视频不卡 | 国产a级特黄的片子视频 | 天堂av影院 | 免费看又黄又爽又猛的网站 | 亚洲波多野结衣日韩在线 | 国产精品视频男人的天堂 | 成人免费a视频 | 亚洲影院国产 | 三及毛片 | 人与禽的免费一级毛片 | 久久亚洲国产精品 | 白浆在线视频 | 高清韩国a级特黄毛片 | 在线观看国产一区 |