我需要从谷歌搜索结果中抓取一些只显示在浏览器中的内容(我怀疑是在启用 Javascript 时)——特别是他们的知识图“人们也在搜索”内容。
我使用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);
});
});
});