0
我正在學習使用請求和cheerio解析一個簡單的html文件。但是,在頁面中有許多腳本標記,並且在它們內部存在實際數據。例如像使用node.js解析HTML內部的JavaScript
<script> var data = {"name":"John","age":33} </script>
所以很自然有趣的是「數據」變量。有沒有更自然的方式,然後做正則表達式來獲取這些數據?
我正在學習使用請求和cheerio解析一個簡單的html文件。但是,在頁面中有許多腳本標記,並且在它們內部存在實際數據。例如像使用node.js解析HTML內部的JavaScript
<script> var data = {"name":"John","age":33} </script>
所以很自然有趣的是「數據」變量。有沒有更自然的方式,然後做正則表達式來獲取這些數據?
我不相信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)