2014-01-14 100 views
0

我正在學習使用請求和cheerio解析一個簡單的html文件。但是,在頁面中有許多腳本標記,並且在它們內部存在實際數據。例如像使用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)