GitHub에 로봇 호스팅이라는 프로젝트를 진행 중입니다. 내 프로젝트의 일은 XML 구성 파일에서 제공되는 URL에서 미디어를 가져 오는 것입니다. xml 구성 파일은 스크립트 디렉토리에서 볼 수있는 것처럼 정의 된 형식을가집니다.노드 js의 미디어 스파이더
이- 웹 링크가 얼마나 깊은 나타내고, 목록 항목에서 선택 (CSS 선택기)에 따른 목록, 내가 찾을 수 있습니다 : below.There 두 인수가 같은
내 문제입니다 미디어 URL 또는 하위 페이지 URL에서 미디어를 찾을 수 있습니다.
- 하위 페이지 URL을 포함하는 arr입니다.
로 아래의 간단한 예 :
node_list = {..., next = {..., next= null}};
url_arr = [urls];
나는 URL의 편곡에있는 모든 항목을 반복 할, 그래서 아래와 같이 수행
function fetch(url, node) {
if(node == null)
return ;
// here do something with http request
var req = http.get('www.google.com', function(res){
var data = '';
res.on('data', function(chunk) {
data += chunk;
}.on('end', function() {
// maybe here generate more new urls
// get another url_list
node = node.next;
fetch(url_new, node);
}
}
// here need to be run in sync
for (url in url_arr) {
fetch(url, node)
}
당신이 볼 수 있듯이, 경우 비동기 http 요청을 사용하면 모든 시스템 자원을 필요로합니다. 그리고 나는 그 과정을 통제 할 수 없다. 누구든지이 문제를 해결할 좋은 아이디어가 있습니까? 또는 nodejs가 그런 작업을 수행하는 적절한 방법이 아닙니까?
[node_curl] (https://github.com/fengmk2/node-curl.git) 프로젝트가 정상적으로 내 문제를 해결했습니다. –