这篇文章将为大家详细讲解有关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怎样评估代码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。