2015-01-02 3 views
0

Мне нужно очистить контент из результатов поиска Google, который отображается только в браузерах (я подозреваю, что когда включен Javascript) - в частности, их графа знаний «Люди также ищут» контент ,Скремблирование сгенерированного javascript контента с использованием запроса в Node.Js

Я использую комбинацию request и cheerio скрести и уже удался принудительно загружать результаты от домена .com, однако, коробка базы знаний не появляется в body моих результатах, вероятно, потому, что на JavaScript контент ,

Кто-нибудь знает, есть ли способ, который я мог бы добавить, или другую библиотеку, которую я мог бы использовать?

Вот мой код ниже. Спасибо!

var request = require('request'); 
var cheerio = require("cheerio"); 

request = request.defaults({jar: true}); 

var options = { 
    url: 'http://www.google.com/ncr', 
    headers: { 
     'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16' 
    } 
}; 

request(options, function() { 

    request('https://www.google.com/search?gws_rd=ssl&site=&source=hp&q=google&oq=google', function (error, response, body) { 

     var $ = cheerio.load(body); 

     $("li").each(function() { 
      var link = $(this); 
      var text = link.text(); 

      console.log(text); 
     }); 
    }); 
}); 

ответ

1

Вы не можете использовать запрос узла, поскольку вы просто загружаете статический контент. Для рендеринга JavaScript вы должны использовать браузер. К счастью, для этой цели есть безголовые браузеры. Я предлагаю PhantomJS.

+0

Спасибо! Я понял, что поиск в Интернете ... Тем не менее, PhantomJS по-прежнему не получает информацию, которая мне нужна со страницы. Может быть, вы знаете, что может быть неправильно? Вот еще один вопрос, который я задал по этой проблеме: http://stackoverflow.com/questions/27736883/phantomjs-how-to-get-googles-knowledge-graph-people-also-search-for-content Спасибо! –

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

  • Нет связанных вопросов^_^