2014-01-14 2 views
0

간단한 html 파일을 구문 분석하기 위해 요청 및 cheerio를 사용하는 법을 배우고 있습니다. 그러나 페이지에는 많은 스크립트 태그가 있으며 그 안에는 실제 데이터가 있습니다. 예를 들면 다음과 같습니다.node.js로 HTML 내부의 JavaScript 구문 분석

<script> var data = {"name":"John","age":33} </script> 

당연히 재미있는 것은 "데이터"변수입니다. 그 데이터를 얻기 위해 정규 표현식을 사용하는 것이 더 자연스러운 방법일까요?

답변

0

cheerio가 인라인 스크립트 구문 분석을 지원한다고 생각하지 않습니다. 그러나 사용 케이스에 jsdom을 사용할 수 있습니다.

var jsdom = require('jsdom') 
var html = '<script>var data = {"name":"John","age":33} </script>' 

jsdom.defaultDocumentFeatures = { 
    FetchExternalResources: ['script'], 
    ProcessExternalResources: ['script'], 
    MutationEvents: '2.0', 
    QuerySelector: false 
} 

var document = jsdom.jsdom(html) 
var window = document.createWindow() 
console.dir(window.data)