Какой-то способ это делать с Ноде Хс

они знают, как я могу делать этот код, но с javascript/Node js, чтобы мочь манипулировать этими данными с css и html, что не был с PHP?

find(".item-row[data-item='TRM']", 0)->find(".item-value > span", 0)->plaintext;
$valor[] = $html->find(".item-row[data-item='OILVAL']", 0)->find(".item-value > span", 0)->plaintext;
$valor[] = $html->find(".item-row[data-item='COFFEE']", 0)->find(".item-value > span", 0)->plaintext;
$valor[] = $html->find(".item-row[data-item='DTF']", 0)->find(".item-value > span", 0)->plaintext;
$valor[] = $html->find(".item-row[data-item='UVR']", 0)->find(".item-value > span", 0)->plaintext;
$valor[] = $html->find(".item-row[data-item='EURCOP']", 0)->find(".item-value > span", 0)->plaintext;

foreach($valor as $v) echo $v.'
'; ?>

introducir la descripción de la imagen aquí

1
задан 11.03.2019, 06:17
2 ответа

Если ты хочешь сделать это с nodejs, ты можешь использовать это, чтобы получать ее pГЎgina:

const https = require('https');

https.get('https://widgetsdataifx.blob.core.windows.net/semana/semanaindicators', (resp) => {
  let data = '';

  resp.on('data', (chunk) => {
    data += chunk;
  });

  resp.on('end', () => {
    console.log(data); // Aquí el parser
  });

}).on("error", (err) => {
  console.log("Error: " + err.message);
});

И потом ты можешь использовать cheerio, чтобы реализовывать соответствующий parseo: https://github.com/cheeriojs/cheerio

SerГ - Во что-то asГ-:

const cheerio = require('cheerio');
const $ = cheerio.load(data);

trm = $.find(".item-row[data-item='TRM']").find(".item-value > span");

я не могу тестировать это, потому что у меня нет готовой среды, но протестировал часть get он-лайн в https://repl.it/repls/DisastrousOlivedrabAbstracttype и функционируй правильно.

1
ответ дан 19.11.2019, 22:20

с JS или AngularJS podrГ-схвати пробовать делать следующее:

var valores = [];

valores.push(document.querySelector(".item-row[data-item='TRM']").querySelector(".item-value > span").innerHTML);

//querySelector por defecto te devuelve la primera coincidencia
//querySelectors te devolverá TODAS las coincidencia en una `array`, tendrás que indicar la posición que quieres (document.querySelectors(".item-row[data-item='TRM']")[0])

достаточно fГЎcil, despuГ©s того, чтобы брать все данные, которых ты хочешь, ты можешь манипулировать array и делать то, в чем ты нуждаешься!

1
ответ дан 19.11.2019, 22:20
  • 1
    Но я должен включать эту часть? include('simple_html_dom.php'); $html = file_get_html("https://widgetsdataifx.blob.core.windows.net/semana/semanaindicators"); для того, чтобы оно я функционировало. – Lucas Suárez 11.03.2019, 06:48
  • 2
    Я проголосовал тебе за негатив, потому что реальная проблема, которая не остается ясной в вопросе, состоит в том, что он не может загружать direcció n с html, так как существует проблема CORS. – track3r 11.03.2019, 06:57
  • 3
    Я, что я понимаю, дело в том, что у него нет прямого доступа к DOM, tendrí в котором печатать ответ, который он получает, и despué s реализовывать мой có я говорю. – Ivan Isayenko 11.03.2019, 06:58

Теги

Похожие вопросы