2016-12-11 3 views
0

Я пытаюсь получить доступ к объекту JavaScript через ответ HTTP GET в Node.js. Например, доступ к объекту jQuery веб-страницы, которая импортирует библиотеку jQuery.Доступ к объекту JavaScript через HTTP GET Response

веб-странице http://example.com:

<html> 
<head> 
... 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.js"> 
... 
</head> 
<body> 
... 
... 
</body> 
</html> 

Node.js HTTP GET запрос:

var http = require('http'); 

http.get("http://example.com", function(res) { 
    //Is jQuery object accessible through res object ? 
    var body = ''; 

    res.on('data', function(data){ 
    body += data; 
    }); 

    res.on('end', function() { 
    console.log(body) 
    }); 
}) 

.on('error', function(e) { 
    console.log("Error: " + e.message); 
}); 

Как я могу получить доступ к объекту JQuery через HTTP GET ответ?

+0

Итак, каков ваш вопрос? –

+1

Вам нужно будет сделать запрос с тем, что действительно работает, и интерпретирует удаленный JavaScript. На данный момент удаленный Javascript - это всего лишь серия случайных символов, не более того. –

+0

@Pekka 웃 Как я могу это сделать? PhantomJS был бы полезен для этого? – Avi

ответ

0

Как я могу получить доступ к объекту jQuery через ответ HTTP GET?

Нет объекта jQuery. Когда вы получаете веб-страницу, вы просто получаете необработанный HTML-код. Нет синтаксического разбора страницы. На странице нет сценариев. Вы только что набрали HTML-код RAW. Это блок текста.

Если вы хотите разобрать страницу, запустить скрипты и т. Д., Вам придется использовать загрузчик DOM (что-то, что имитирует большую часть среды браузера). Обычный инструмент, используемый в node.js для синтаксического анализа HTML и предоставления псевдо-DOM, который вы можете запросить, это Cheerio library, который дает вам подмножество jQuery, как функциональность для работы с псевдо DOM.

Смежные вопросы