首页 > IT职业 > IT图书 > python爬虫中PhantomJS如何评估代码?
上篇文章我们讲过PhantomJS测试的方法,不知道小伙伴们学会了没有?除了测试之外,PhantomJS同样是可以用来评估代码的。这里就没想到了吧?不同的库有不同的用法,同时里面的用法还可以和之前的学习联系在一起。今天小编就教大家在python爬虫中PhantomJS评估代码。
利用 evaluate 方法我们可以获取网页的源代码。这个执行是 “沙盒式” 的,它不会去执行网页外的 JavaScript 代码。evalute 方法可以返回一个对象,然而返回值仅限于对象,不能包含函数(或闭包)
var url = 'http://www.baidu.com';
var page = require('webpage').create();
page.open(url, function(status) {
var title = page.evaluate(function() {
return document.title;
});
console.log('Page title is ' + title);
phantom.exit();
});
以上代码获取了网站标题。
Page title is
任何来自于网页并且包括来自 evaluate () 内部代码的控制台信息,默认不会显示。 需要重写这个行为,使用 onConsoleMessage 回调函数,示例可以改写成
var url = 'http://www.baidu.com';
var page = require('webpage').create();
page.onConsoleMessage = function (msg) {
console.log(msg);
};
page.open(url, function (status) {
page.evaluate(function () {
console.log(document.title);
});
phantom.exit();
});
这样的话,如果你用浏览器打开百度首页,打开调试工具的 console,可以看到控制台输出信息。 重写了 onConsoleMessage 方法之后,可以发现控制台输出的结果和我们需要输出的标题都打印出来了。
以上就是python爬虫中PhantomJS评估代码的方法。代码用人工方法审核实在是太慢了,学会了小伙伴已经不用再自己去操心这方面的事情。还没开始使用的小伙伴快快加入吧。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4363/viewspace-2832288/ ,如需转载,请注明出处,否则将追究法律责任。