博客已经成功切换为 Wordpress! My blog has been switched to Wordpress!

[基于php+mysql]利用BAE实现贴吧自动签到

编程分享 edwardfang 5年前 (2013-10-03) 560次浏览 3个评论

有神网友做出了百度贴吧的自动签到,基于 BAE 运行,签到成功率无意外 100%,还支持邮箱提醒和操作记录。

源码下载地址:http://pan.baidu.com/s/1egbwd
下面贴出安装方法。
1.进入百度开发者中心,登陆自己的百度号。
2.点击右上角的“快速创建应用”,选择 Web 应用-PC Iframe,应用名称自己取。
3.点击左侧的云环境(BAE),按照提示填写,这些全部可以自定义。
4.点击创建新版本,版本号输入 0-19 任意整数,勾上上传 PHP 代码包,上传上面的 source.zip。
5.选择左边的 MySQL 云数据库,创建数据库,全部保持默认,注意勾上免费 1G 配额,否则是要钱的。
6.点击你数据库对应的 phpMyAdmin,进 SQL 页面,输入以下 SQL:

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
 
CREATE TABLE IF NOT EXISTS `tb_sign_history` (
  `history_id` bigint(20) NOT NULL auto_increment COMMENT 'id',
  `history_date` char(8) NOT NULL COMMENT '签到历史日期',
  `tb_num_all` int(11) NOT NULL COMMENT '获取到的贴吧的总数',
  `tb_list_update_time` datetime default NULL COMMENT '贴吧列表更新时间',
  `tb_num_unsigned` int(11) NOT NULL COMMENT '未签到贴吧数(截止历史记录生成时)',
  `tb_num_signed` int(11) NOT NULL COMMENT '成功签到的贴吧数(截止历史记录生成时)',
  `tb_num_sign_failed` int(11) NOT NULL COMMENT '签到失败的贴吧数(截止历史记录生成时)',
  `tb_num_sign_unsupped` int(11) NOT NULL COMMENT '不支持签到的贴吧数(截止历史记录生成时)',
  PRIMARY KEY  (`history_id`),
  UNIQUE KEY `history_date` (`history_date`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='贴吧签到历史' AUTO_INCREMENT=2 ;
 
CREATE TABLE IF NOT EXISTS `tb_sign_list` (
  `list_id` bigint(20) NOT NULL auto_increment COMMENT 'id',
  `tb_name` varchar(127) NOT NULL COMMENT '贴吧名称,主要作显示用',
  `tb_unicode_name` varchar(512) NOT NULL COMMENT '签到时会用到',
  `sign_date` char(8) NOT NULL COMMENT '日期,格式:yyyyMMdd',
  `sign_status` int(11) NOT NULL default '0' COMMENT '签到状态,-1:失败;0:未进行签到;1:成功;2:不支持签到',
  `sign_exp` int(11) NOT NULL default '0' COMMENT '经验,负数表示未知。',
  PRIMARY KEY  (`list_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='贴吧签到列表' AUTO_INCREMENT=117 ;

提交,等待页面执行完成。

7.!!重难点:修改配置文件。 关闭 phpMyAdmin,回到 BAE 管理界面,记录下你的数据库名称。 选择左侧版本管理,在你刚才上传的版本旁边有一个编辑链接,点击进入。双击左边 Config.class.php,开始编辑,填入以下内容。

<?php
//MySQL 数据库名称,必须
define('DB_NAME' , '你的数据库名字');
//消息队列名称,不需要发送消息则可不填
define('BCMS_QUEUE' , '');
//cookie,必须
define('COOKIE' , '输入你的百度 Cookie');
//接收报告的 Email
define('EMAIL' , '');
//简单登陆系统,用户名,必须
define('USERNAME' , 'lantian');
//简单登陆系统,密码,必须
define('PASSWORD' , '123456');
//消息报告总开关
define('SEND_MSG' , false);
//全部成功签到时发送报告
define('SEND_MSG_IF_ALL_SIGNED' , false);
//未全部签到时发送报告
define('SEND_MSG_IF_ANY_UNSIGNED_OR_SIGN_FAILED' , false);
//异常情况时发送报告(如:获取不到贴吧列表)
define('SEND_MSG_IF_MAY_HAS_SOMETHING_ERROR' , false);
?>

其中数据库名字填你之前记录下的数据库名称。
Chrome 浏览器 Cookie 获取方法:
在 BAE 管理页面上,点菜单-工具-JavaScript 控制台,输入 document.cookie 回车,把引号中间的东西都复制下来,不包括引号。

其它浏览器请自己寻找,不过大多数人应该都用 Chrome 吧……
8.!!重难点:设置计划任务
回到版本管理页面,点一下查看,把地址栏复制下来,比如说是 http://lantian.duapp.com。以下操作中,注意把 lantian.duapp.com 换成你自己的地址。
在版本管理页面左边选则 Cron(定时任务),创建三个任务:
1)任务名称 doUpdate,执行 URL 填写如下:
http://yourdomain.duapp.com/do_update.php
执行次数 0(表示无限),时间表如下:
50 3 * * *

2)任务名称 doSign,执行 URL 填写如下:
http://yourdomain.duapp.com/do_sign.php
执行次数 0(表示无限),时间表如下:
*/1 4-5 * * *

3)任务名称 doReport,执行 URL 填写如下:
http://lantian.duapp.com/do_report.php
执行次数 0(表示无限),时间表如下:
0 6 * * *

完成后你应该看到如下的画面:
QQ 截图 20131003120140.jpg
注意时间的时分秒是否与图中相同,状态是否为活跃。
9.完成操作,明天早上起来看情况吧。

转载自 Lan Tian @ Blog 原文链接 http://xuyh0120.nu/article/modify-website/bae-tieba-auto-sign.lantian


回味依旧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[基于 php+mysql]利用 BAE 实现贴吧自动签到
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 太麻烦了。。有木有一键签到的软件
    mooc2013-10-04 10:19 回复