• Node.js 动态网页爬取 PhantomJS 使用入门(转)


    Node.js 动态网页爬取 PhantomJS 使用入门

    版权声明:本文为 wintersmilesb101 -(个人独立博客– http://wintersmilesb101.online 欢迎访问)博主原创文章,未经博主允许不得转载。

    既然是入门,那我们就从人类的起源。。PhantomJS 来说起吧。

    1、PhantomJS是什么?
    PhantomJS是一个基于webkit的javascript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、html5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。
    也就是说我们可以使用 PhantomJS 来模拟浏览器,而且是个无页面浏览器,想像一下我们的网页加载都是通过什么,浏览器,如果我们直接模拟浏览器加载,那么网页里面的什么 js 动态加载,ajax 动态的加载的东西啊全部不是问题,因为我们模拟的是浏览器,不过貌似效率上面略有欠缺,尤其是加载大型页面,对于此种我们可以选择放弃某些东西的加载,比如图片 css 之类,毕竟我们只是模拟请求不是为了界面,这样应该会提升一些速度。
    下面给出几个地址
    1.PhatomJS 官网
    2.PhantomJS API
    2、PhantomJS下载与安装
    官方下载地址:http://phantomjs.org/download.html。目前官方支持三种操作系统,包括windowsMac OSlinux这三大主流的环境。你可以根据你的运行环境选择要下载。
    载完成后解压文件,建议为方便使用,单独放在一个文件夹里,其中路径最好不要有中文,以免出现什么奇怪的东西。到这里,你已经成功下载安装好PhantomJS了。那么,打开刚刚解压的陌路 phantomjsin 文件夹,双击运行phantomjs.exe,出现如下界面,那么你就可以运行JS代码了。不过这样还是比较麻烦,那么我们就来配置系统环境变量 右击我的电脑–>点击管理–>高级系统设置–>环境变量,然后找到系统的 Path WIn10的话直接点击新建然后贴上你的 PhatomJS 解压路径,注意路径要一直到 bin 文件夹,如果是 win7 就直接在现有的变量后面添加路径,注意开头要加 ; 符号。
    为了测试是否环境变量配置正确,你可以 cmd 输入 phantomjs ,出现如下界面就成功了

    image

    下面我们就可以开始上菜了,HelloWorld。在你的工程目录下新建一个 hello.js 文件,输入以下代码,这次我们还是看看网易新闻 http://news.163.com/
    var page = require('webpage').create();
    phantom.outputEncoding="gbk";//指定编码方式
    page.open("http://news.163.com/", function(status) {
    if ( status === "success" ) {
    console.log(page.title);//输出网页标题
    } else {
    console.log("网页加载失败");
    }
    phantom.exit(0);//退出系统
    });
    然后 cmd 进入工程目录,也就是 hello.js 的目录,如下:输入 phantomjs hello.js 运行

    image
    image

     好了我们已经跑的第一个 PhantomJS程序了,其他的这篇博客讲的比较详细,传送门
  • 相关阅读:
    客户端用mstsc不能用一台设备连接终端服务器的解决办法
    [转]知识管理ABC
    Visual Studio常用小技巧[备忘]
    一套外企的数据库设计面试题
    MSDN中的图形元素和文档约定[备忘]
    设计模式概述
    ASP.Net 4.0中新增加的23项功能[转]
    Dreamweaver 8 的相关使用
    浅谈ThreadPool 线程池
    C#委托的异步调用[学习]
  • 原文地址:https://www.cnblogs.com/it-tsz/p/12033110.html
Copyright © 2020-2023  润新知