最近看到了一个奖品很诱人的抢楼贴,于是萌生了做一个贴吧抢楼工具的想法。要达到抢楼的目的,第一步当然是获取当前帖子的楼层数,这样才能精准抢楼,在网上找了一圈,没找到相关代码,于是自己用PHP写了一个,试了一下效果还不错,因此果断分享出来!

/********************************
获取贴吧指定帖子回复量的函数
编  写:zlx3323
函数名:getFCount
输  入:帖子的tid
输  出:帖子的楼层数(最大支持3784)
********************************/
function getFCount($tid)
{
    $url ='http://tieba.baidu.com/mo/m?kz='. $tid .'&last=1'; //url地址
    $ch = curl_init($url); //初始化
    $header = array ("Content-Type: application/x-www-form-urlencoded");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, "http://tieba.baidu.com/mo/");   //伪造来源网址
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    $output = curl_exec($ch);//执行并获取HTML文档内容
    curl_close($ch);//释放curl句柄
    //echo $output;   //调试使用
    //echo "<a href='http://tieba.baidu.com/p/".$tid."?pn=9999999' target='_blank'>点击查看原帖效验结果</a><br>";   //调试使用
    if(preg_match('/<div>    您要浏览的贴子不存在<br\/>/',$output)) //被删除的帖子
    {
        return 0;
    }
    else
    {
        preg_match('/<div class="i">(\d*)楼\./isU',$output,$acceptNo);
        return $acceptNo[1];
    }
}
//使用示例:
echo "帖子6148579047当前的楼层数为:".getFCount(6148579047);

我在闪电侠吧随意找了一篇帖子,这篇帖子的tid为 6146567526 ,经过测试,完美无误