记录千库网的一次自动登录

记录千库网的一次自动登录

月光魔力鸭

2018-09-12 10:24 阅读 973 喜欢 0 自动登录 千库网

写文章总会需要一些素材,但是好多素材都是收费或有限制的,还是我要求不高,在千库网看了下还不错,有各签到还送VIP,于是就有了想法....

想到就干,由于之前有过经验,所以选用的还是: phantomjs + casperjs

先分析下步骤:

所以难点就在登录上,根据分析找到千库网的QQ登录地址: http://588ku.com/index.php?m=login&a=snsLogin&type=qq&source= 只需要访问这个地址,然后点击登录,再页面中再次访问千库网首页就可以发现已经登录上了。

代码如下:

phantom.outputEncoding = 'utf8';

var url = 'http://588ku.com/';

var casper = require('casper').create({
    verbose: true,
    logLevel: "debug",
    pageSettings: {
         loadImages:  true,        
         loadPlugins: true,    
         userAgent: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2729.4 Safari/537.36'
    }
});

var user = casper.cli.args[0],
    pwd = casper.cli.args[1];

casper.start().thenOpen('http://588ku.com/index.php?m=login&a=snsLogin&type=qq&source=',function(){});
casper.withFrame(0,function(){
    this.capture('1.png');
    this.echo('登录中...')
    this.click('#switcher_plogin');//切换
    this.wait(15000);
});
casper.withFrame(0,function(){
    this.capture('2.png');
    this.fillSelectors('form#loginform',{
        '#u' : user,
        '#p' : pwd
    });
    this.wait(15000);
});
casper.withFrame(0,function(){
    this.capture('3.png');
    this.click('form#loginform input[type="submit"]');
    this.wait(1000);
    this.capture('4.png');
    this.wait(15000);
});
casper.thenOpen(url,function(){
    this.echo('进入'+url);
    this.wait(15000);
    this.capture('5.png');
    this.waitForSelector('.already-sign-but');
});

casper.then(function(){
    this.echo('点击签到');
    this.click('a.already-sign-but');
    this.wait(12000);
});
casper.then(function(){
    if(this.exists('.signIn-btn')){
        this.echo('还未签到,正在签到中...')
    }
});
casper.then(function(){
    this.click('.signIn-btn');
    this.wait(11000);
});
casper.then(function(){
    this.capture('res.png');
    this.echo('签到结束,查看 res.png 图片');
});
casper.then(function(){
    this.exit();//退出
})

casper.run();

在来一张截图:

image.png

转载请注明出处: https://chrunlee.cn/article/auto-login-qianku.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
当我们想实现一个自己的库或模块后,发布的话,需要发布到npm上才能下载。以下是具体步骤
最近一直在围绕着我的小电脑在转,基本都是这方面的问题。在没有公网IP的情况下,这个问题就是我怎么才能通过域名访问到我家中的服务器。
通过pm2来实现nodejs应用的集群,不过我之前没做session共享,导致.. 登录不上啊 啊啊啊,无奈,又重新对redis进行了集成。
介绍几个日常开发中常用的几个小工具: anywhere / anywhere-auth / watchlessc / changeext
记录下在linux环境下安装phantomjs 的步骤,防止遗忘...
在通过axios读取页面的时候,经常会碰到gbk的编码,如果不进行转化的话,在获取信息或读取上都会很麻烦。
记录下通过nodejs调用imagemagick 的时候发现的一个错误,command failed -- crop .