`

casperjs爬虫

 
阅读更多
主要是抓一些网站的数据特别对于mechanize无法抓取的js产生的数据
(1)casperjs是在phatomjs基础上来的所以安装casperjs必须先安装phatomjs
   http://casperjs.org/   http://phantomjs.org/ 都有
(2)casperjs是按步来的,所以start   run  then这三个方法中前两者是必须有的
(3)evaluate方法是document对外的接口,里面不能有自己定义的一些方法使用,一般都是设计到元素选择器查找之类的方法__utils__.findAll("div.rank-s ul.rank1-body li")
(4)会看到很多与then配合使用的方法,加then之后表示必须等待上一个动作完成才会运行此方法这步。
(5) captrue这个方法会把当前页面拍照,然后保存起来有时候很有用  this.wait(20000,function init(){
        // this.capture(work_path+"/"+p+"child"+".jpg")
});
(6)cookie读取与保存
    phantom.cookiesEnabled = true;
//设置访问页面的cookie
function updateCookie() {
    var cookiefile = work_path+"/cookie.txt";
    var cookies = JSON.parse(fs.read(cookiefile));
    for (var i = 0; i < cookies.length; i++) {
       phantom.addCookie(cookies[i]);
    }
}
   保存
   phantom.cookiesEnabled = true;
casper.then(function(){
    this.wait(20000,function wait_submit(){
    //--验证是否登陆成功
    this.capture(work_path+"/is_login.jpg");
    fs.write(work_path+"/cookie.txt",JSON.stringify(phantom.cookies),777);
    });
});

自己项目中用到的
  1)casper = require("casper").create();
  2)casper.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36";
3)casper.start("http://xxxx.com/");
4)casper.then(function(){
//模拟按键
this.sendKeys('#username','youname',{reset: true});
this.sendKeys('#password','youpassword',{keepFocus: true});
});
5)casper.wait(800,function init(){
    this.capture(work_path+"/yzm.png");
    console.log("验证码已拍照完成,等待30s")
});可以看看是不是已经登录,通过截取画面
6)日志文件输出在控制台,也可以>导引到其它文件里面
    casper.on('remote.message', function(message) {
        console.log(message);
   });
7)其它的都是一个then方法按步骤获取页面数据
var infoss = casper.evaluate(function(){
      var info = {
                    "name": name,
                };
                infos.push(info);
        return infos;
    })
分享到:
评论

相关推荐

    casperjs-1.1.3.zip

    CasperJS是一个基于PhantomJS和SlimerJS的高级脚本接口,专为网页抓取和自动化测试设计。它提供了一种简洁的方式来导航、交互和测试网页,特别适合处理那些依赖JavaScript来呈现内容的网站。在本文中,我们将深入...

    casper-crowly:基于 casper.js 的网络爬虫

    如何跑步克隆存储库后,运行npm install 如果你在全局安装了 casperjs,你可以简单地运行 - casperjs --ssl-protocol=any index.js &lt;url&gt; 或使用以下本地安装的 casperjs 运行它 - ./node_modules/.bin/casperjs --...

    casperjs +phantomjs 爬虫抓包插件

    利用casperjs +phantomjs实现登录抓取网页 并且截图;下载后解压后,在环境变量path中配置解压后bin目录的地址,如:E:\Program Files\casperjs\bin;E:\Program Files\phantomjs\bin

    Linux版本casperjs,抓取js加载的页面

    本文将深入探讨`casperjs`在Linux环境中的应用,以及如何结合Java实现爬虫项目。 首先,`casperjs`是一个JavaScript库,它提供了一个强大的API来控制`PhantomJS`浏览器实例。在Linux环境下,你需要先安装`phantomjs...

    casperjs.pdf

    文档中接下来是一些快速入门的示例,通过创建一个最简单的爬虫脚本来开始。这包括如何编写一个基本的CasperJS脚本来抓取网页,并展示如何使用CasperJS抓取Google搜索结果。此外,也提供了一个使用CoffeeScript编写的...

    casperjs抓取简单实例

    项目包含了一个简单的爬虫,用户可以输入关键词,然后程序会用CasperJS访问百度百科并抓取相关的条目信息。开发人员可能使用了Eclipse作为IDE,并遵循Maven或类似的构建工具的目录结构。具体的实现细节可能包括使用...

    casperjs_biztest.rar

    使用CasperJS进行爬虫开发时,开发者需要注意一些最佳实践,比如设置合理的超时时间以防止因网络延迟导致的脚本崩溃,使用CSS选择器或XPath表达式来精确定位元素,以及妥善处理异常和错误情况。同时,由于CasperJS是...

    [详细完整版]爬虫基本知识.pdf

    【爬虫基本知识】 爬虫,也称网页蜘蛛或网络机器人,是一种自动抓取万维网信息的程序或脚本。它遵循特定的规则,能够遍历互联网上的各种页面,搜集所需的数据。爬虫在大数据时代扮演了重要的角色,因为它们能够有效...

    casperjs.pptx

    ### CasperJS:基于PhantomJS的高级Web自动化工具 #### 概述 CasperJS是一种基于JavaScript编写的开源导航脚本与测试工具,它利用WebKit...无论是用于功能测试还是爬虫开发,CasperJS都能提供高效可靠的解决方案。

    一个动态web爬虫_python_JavaScript_代码_下载

    基于CasperJS和PhantomJS,可以自动渲染网页、动态解析js,支持ajax和各类前端交互。 代码基于phantomjs爬虫小记 by wils0n ,在tuicool上也有这篇文章http://www.tuicool.com/articles/JbEfIvV , 原作者的代码在...

    FriendlyGhost:用于抓取电子邮件地址的 Casperjs 驱动的网络爬虫

    Friendly Ghost依赖于 Casperjs 和 Phantomjs。 安装这些的最好方法是通过终端通过 。 -g标志使它们可以在系统范围内访问。 sudo npm install -g phantomjs && sudo npm -g install casperjs 其他安装选项包括和 ...

    在Python中使用CasperJS获取JS渲染生成的HTML内容的教程

    长期以来,爬虫抓取 客户端javascript渲染生成的html页面 都极为 困难, Java里面有 HtmlUnit, 而Python里,我们可以使用独立的跨平台的CasperJS。  创建site.js(接口文件,输入:url,输出:html file)  //USAGE: ...

    linkedin-crawler:使用 CasperJS 的简单个人资料图片爬虫

    使用 CasperJS 的简单个人资料图片爬虫 要运行此爬虫,需要 LinedIn 的登录凭据。 运行文件时将它们作为前两个参数传入 casperjs linkedin.js loginEmailAddress loginPassword 还需要标志--ignore-ssl-errors=true...

    casperjs-samples:使用一些示例脚本探索casperjs

    它提供了一套高级的API,用于编写易于理解和维护的Web爬虫和自动化测试脚本。CasperJS是用JavaScript编写的,因此你可以充分利用JavaScript的灵活性和强大的功能来处理网页。 **JavaScript在CasperJS中的作用** ...

    webtoon-crawler:Naver 网络漫画爬虫

    网络漫画爬虫 Naver 网络漫画爬虫 卡通内容(图片)爬行 casperjs crawl_contents.js --id=웹툰아이디 --no=회수번호 --dst=대상경로 信息输出到 __stdout__ { " title " : " 해당 화의 제목 " , " rating " : ...

    利用Python语言轻松爬取数据[精品文档].pdf

    7. **其他爬虫语言**:虽然Python是最常用的语言,但还有其他选择,如PhantomJS(已被Chrome headless模式取代)、CasperJS、Node.js和Java等。每种语言都有其特点,Python因其简洁的语法和丰富的库支持,特别适合...

    利用Python语言轻松爬取数据[精品文档].docx

    2. **PhantomJS 和 CasperJS**:两者基于 WebKit,适合做无头浏览器爬取,但 PhantomJS 已经停止更新,而 CasperJS 是在其基础上进行的封装,提供了更友好的导航API。 3. **Java、C#、C++**:这些静态语言性能强大,...

    利用Python语言轻松爬取数据.pdf

    - CasperJS:基于 PhantomJS 的高级脚本接口,简化导航操作。 - Node.js:适用于轻量级爬虫,但对大规模分布式爬取支持较弱。 - Java、C++、PHP 等也可以编写爬虫,各有优缺点。 随着大数据时代的到来,爬虫技术...

Global site tag (gtag.js) - Google Analytics