技术文章 > Python技术 > Python爬虫 > 正文

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评估代码的方法。代码用人工方法审核实在是太慢了,学会了小伙伴已经不用再自己去操心这方面的事情。还没开始使用的小伙伴快快加入吧。

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 python爬虫之Selenium与PhantomJS
 Python之PhantomJS的简单使用
 Python3爬虫利器之PhantomJS的安装
 PhantomJS如何在python爬虫中测试页面?
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
推荐视频
视频教程分类