Javascript 将HTML响应转换为nodejs中的数组或对象
我已经编写了一个express服务器,它点击Zaubacorp.com API并得到以下结果。结果是一个字符串 来自API的结果:Javascript 将HTML响应转换为nodejs中的数组或对象,javascript,node.js,string,object,Javascript,Node.js,String,Object,我已经编写了一个express服务器,它点击Zaubacorp.com API并得到以下结果。结果是一个字符串 来自API的结果: <div class="show" align="left" id="company/CHOUDH/U65999MP1985PTC003043">CHOUDH </div> <div class="show" align="left" id="company/CHOPRA
<div class="show" align="left" id="company/CHOUDH/U65999MP1985PTC003043">CHOUDH </div>
<div class="show" align="left" id="company/CHOPRA/U45201CT1982PTC001899">CHOPRA </div>
<div class="show" align="left" id="company/CHOUDH/U72200UP1996PLC019258">CHOUDH </div>
<div class="show" align="left" id="company/CHOROSEN-LIMITED/U99999MH1955PLC009659">CHOROSEN LIMITED </div>
<div class="show" align="left" id="company/CHOLAI-FOUNDATION/U85300TN2019NPL127317">CHOLAI FOUNDATION </div>
如何从给定字符串中提取ID和公司名称,并将其发送到前端 您需要使用一些html解析器。其中之一是
https://www.npmjs.com/package/node-html-parser
。代码如下所示
const {parse} = require('node-html-parser');
console.log(JSON.stringify(parse(result.data)));
响应将是一个合适的JSON,类似于
{
"childNodes": [{
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOUDH "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U65999MP1985PTC003043\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOUDH/U65999MP1985PTC003043"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOPRA "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOPRA/U45201CT1982PTC001899\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOPRA/U45201CT1982PTC001899"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOUDH "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U72200UP1996PLC019258\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOUDH/U72200UP1996PLC019258"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOROSEN LIMITED "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOROSEN-LIMITED/U99999MH1955PLC009659\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOROSEN-LIMITED/U99999MH1955PLC009659"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOLAI FOUNDATION "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOLAI-FOUNDATION/U85300TN2019NPL127317\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOLAI-FOUNDATION/U85300TN2019NPL127317"
}],
"tagName": null,
"rawAttrs": "",
"parentNode": null,
"classNames": [],
"nodeType": 1,
"valid": true
}
这有你需要的所有必要信息。希望这能有所帮助。您的htmldata是什么类型的?我觉得这可能很幼稚,但是否有其他端点或选项返回JSON(或其他)响应?嘿@JuhilSomaiya。。我对响应做了一个typeof,它是一个字符串。对不起,我是一个新的程序员。我仍然需要从这个字符串中提取所有ID和公司名称。我们怎么做?让我修改我的答案以反映实际情况changes@SarthakBatra我的回答帮你解决问题了吗?
{
"childNodes": [{
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOUDH "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U65999MP1985PTC003043\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOUDH/U65999MP1985PTC003043"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOPRA "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOPRA/U45201CT1982PTC001899\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOPRA/U45201CT1982PTC001899"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOUDH "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U72200UP1996PLC019258\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOUDH/U72200UP1996PLC019258"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOROSEN LIMITED "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOROSEN-LIMITED/U99999MH1955PLC009659\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOROSEN-LIMITED/U99999MH1955PLC009659"
}, {
"childNodes": [],
"nodeType": 3,
"rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
}, {
"childNodes": [{
"childNodes": [],
"nodeType": 3,
"rawText": "CHOLAI FOUNDATION "
}],
"tagName": "div",
"rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOLAI-FOUNDATION/U85300TN2019NPL127317\"",
"parentNode": null,
"classNames": ["show"],
"nodeType": 1,
"id": "company/CHOLAI-FOUNDATION/U85300TN2019NPL127317"
}],
"tagName": null,
"rawAttrs": "",
"parentNode": null,
"classNames": [],
"nodeType": 1,
"valid": true
}