사이트 스크래핑이 필요한 프로젝트에 JSDom을 사용할 것을 고려하고 있습니다.
아마존 페이지를 사용해 보았습니다. 다음은 샘플 코드는 다음과 같습니다jsdom 사용시 "DOMNodeInsertedIntoDocument 이벤트 전달 실패"오류가 발생했습니다.
jsdom.env(url, ["http://code.jquery.com/jquery.js"], function(errors, window) {
console.log(errors);
var $ = window.$,
results = parseResultsPage($);
//do some stuff
window.close();
});
는 처음에 나는 if(errors.length > 0) ...
절을했다,하지만 errors
항상 가득 밝혀졌습니다. 스크래핑 자체가 작동하고 필요한 모든 결과를 얻었지만 항상 얻을 수 있습니다.
[ { type: 'error',
message: 'Dispatching event \'DOMNodeInsertedIntoDocument\' failed',
data: { error: [Object], event: [Object] } } ]
즉, 오류를 효과적으로 테스트 할 수 없습니다. 단순히이 오류를 무시하면 안전하지 않습니다.
제안 사항? 아마존 관련 문제 일 수 있습니까? JSDom의 GitHub의 페이지 (link)에
제출 문제 :
업데이트 (그들은 자신의 페이지에 jQuery를 1.2.6을 사용하고 있습니다).
정확히 같은 문제가 있습니다. 나는 [cheerio] (https://github.com/MatthewMueller/cheerio) + [요청] (https://github.com/mikeal/request) 대신에 사용했다. 매력처럼 일했습니다. – Xavi