使用请求包在nodejs中查找和分析html的最佳方法

在我的实验中,我注意到,我无法使用htmlparser或htmlparser2软件包parsing从request.get收到的文本。

与https.request相比,返回的string是不一样的,线条明智的。 我正在掠夺一个人类可读的页面,http.request处理程序能够聚合数据以匹配服务器响应的输出。

但与request.get我收到一个没有换行符的回应。 因此,我只能假设我没有使用不受requestjs支持的parsing包,并且导致问题:

实际parsing从reqeust.get和requst.post调用收到的HTML的最好方法是什么?

谢谢。

我的道歉,我是用反应而不是身体,这是正确的方式:

var request = require('request'); var htmlparser = require('htmlparser2'); var select = require('soupselect').select var url = ''; function httpsHandler(err, response, body) { if(err){ console.error('to err is human') process.exit(1); } var parser = new htmlparser.Parser(htmlHandler); parser.parseComplete(body); } var htmlHandler = new htmlparser.DefaultHandler( (error, dom) => { if (error){ console.log( 'error', error ); process.exit(1); } var options = extractData( dom ); }); function extractData( dom ){ var collection = select(dom, '#ctl00_LeftColumnMiddle_Table1 table td'); collection.forEach( ( licenses ) => { licenses.children.forEach( ( license, i ) => { var data = ( license.data ) ? license.data : license.children[0].data console.log( data ); }); }) } //entry point request.get( url , httpsHandler );