Цель:
Чтобы экспортировать всю HTML-страницу (из этого определенного URL-адреса) в 'newFileOnLocalDisk.txt' для автономного изучения данных.
Обнаружена проблема:
Способенэкспортировать HTML-код этого конкретного URL-адреса в 'newFileOnLocalDisk.txt' ... НО ... экспортированные HTML-элементы и значения НЕ совпадают с данными в DOM браузера.
const http = require('http');
const url = 'http://www.bursamalaysia.com/market/securities/equities/prices/#/?filter=BS02&page=3';
const httpGet = url => {
return new Promise((resolve, reject) => {
http.get(url, res => {
res.setEncoding('utf8');
let body = '';
res.on('data', chunk => body += chunk);
res.on('end', () => resolve(body));
}).on('error', reject);
});
};
async function exportToLocalHTMLfile () {
const body = await httpGet(url);
/*********************************************************
* What's returned to console.log is totally different
* from what is in browser's DOM Elements / inspect element
*
* Question #1:
* How can we export "as-is or in raw HTML" directly from
* less-friendly pages like this?
*
*********************************************************/
console.log(body); //<-- will be later exported to TEXT file. Codes removed to keep this article leaner.
}
exportToLocalHTMLfile();
console.log(body)
вернул приведенную ниже выдержку.Это полностью отличается от того, что находится в элементе DOM браузера
<html><head>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="-1"/>
<meta http-equiv="CacheControl" content="no-cache"/>
<noscript>Please enable JavaScript to view the page content.</noscript>
<APM_DO_NOT_TOUCH>
<script language="javascript">
//<![CDATA[
(function(){
var securemsg;
var packmsg;
var CryptoUtils;
try{(function(){try{var _S,IS,lS=1,LS=1,ZS=1,__=1,i_=1,I_=1,j_=1;for(var J_=0;J_<IS;++J_)lS+=2,LS+=2,ZS+=2,__+=2,i_+=2,I_+=2,j_+=3;_S=lS+LS+ZS+__+i_+I_+j_;window.JS===_S&&(window.JS=++_S)}catch(l_){window.JS=_S}var L_=window.sdkljshr489=!0;function o_(S){window.sdkljshr489&&S&&(L_=!1);return L_}function O_(){}o_(window[O_.name]===O_);o_("undefined"===window.vodsS0);window.vodsS0=null;o_(/\x3c/.test(function(){return"\x3c"})&/x3d/.test(function(){return"0";"x3d"}));
var Z_=window.attachEvent||/mobi/i.test(navigator.userAgent),_ .... (end of excerpt)
Для вашей информации, нечитаемое содержимое в 'newFileOnLocalDisk.txt' имеет длину 61 055 символов.Ни один из них не напоминал никаких данных внутри id="bm_price_container"
Если есть лучшие методы или стратегии для решения этой задачи, чем const http = require('http');
, укажите, пожалуйста, путь?Заранее благодарим за ваше время и усилия в сияющем свете.