nodejs抓取动态网页(PhantomJs就是没有没有界面的浏览器界面界面)

优采云 发布时间: 2022-03-16 07:08

  nodejs抓取动态网页(PhantomJs就是没有没有界面的浏览器界面界面)

  我渴望一个更强大,但使用起来不太麻烦的工具。

  幻影

  上述问题可以用 PhantomJs 解决。

  PhantomJs 是一个没有界面的浏览器。

  安装

  使用 cnpm 安装 PhantomJS:

  cnpm install phantomjs --save-dev

  我这里没有选择全局安装,因为如果我是全局安装的,当别人使用我的源代码时,我不知道有这样的依赖,项目运行不了。

  如果你也选择本地安装,那么你需要在 package.json 中的脚本中添加一段:

  "phantomjs":"node_modules/.bin/phantomjs"

  这个后面会用到,到这里,安装就完成了。

  写代码

  我们新建一个文件,名字随意,这里我新建一个 main.js :

  var webpage = require('webpage');

var page = webpage.create();

page.open('http://www.baidu.com/', function (status) {

 var data;

 if (status === 'fail') {

  console.log('open page fail!');

 } else {

  console.log(page.content);//打印出HTML内容

 }

 page.close();//关闭网页

 phantom.exit();//退出phantomjs命令行

});

  这里有一个网页模块,我们刚才明明没有这个模块,为什么要引用这个模块???

  当然,不能引用。如果我们使用 node main.js 来运行这段代码,它就不会运行。我们应该像这样运行这段代码:

  npm run phantomjs main.js

  这里的 npm run phantomjs 对应我们之前在 package.json 中添加的命令,非常方便,几乎和 http 模块一样方便。

  page.content是html代码,这个页面对象属性很多,功能更强大。

  此时,您已经开始了。如果想了解更多,可以去phantomjs官网查看文档。

  以上内容就是如何在Node.JS中使用PhantomJs爬取网页。你有没有学到任何知识或技能?如果您想学习更多技能或丰富知识储备,请关注易宿云行业资讯频道。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线