php获取百度贴吧指定帖子楼层数

mengkun 2.7K 0

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

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

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

php获取百度贴吧指定帖子楼层数

写在后面:

经过仔细测试,发现如果帖子的楼层数大于3784,会失效;

如果帖子最后几楼被抽了,也无法准确获取。

发表评论 取消回复
表情 图片 链接 代码

分享