已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: 下一个帖子被删了

作者: @Ta

时间: 2015-02-06

点击: 1327

问下:如何解决PHP中的下一个帖子id,就是说有的id不存在啊:eg:这个帖子是136954,下一个就是368597,我想采集一下帖子,如果我输入136955,他就提示说帖子id不存在!他的帖子id要如何解决?给个思路
<br/>id不是自增减,因为有的帖子被干掉了,它的论坛显示的是最新回复帖子!但是链接id不一样啊………………问题描述完毕!

[隐藏样式|查看源码]


『回复列表(16|显示机器人聊天)』

1. 到底是哪个论坛?
你现在这个贴的id明明是 69432。
(/@Ta/2015-02-06 16:39//)

2. 大啊!条件就是大于136954并且只返回一条数据
(/@Ta/2015-02-06 16:49//)

3. @qzy,不是这个论坛的!我说的那个论坛里所有的帖子都是要审核的,不通过就删除了……
(/@Ta/2015-02-06 16:49//)

4.
(/@Ta/2015-02-06 16:55//)

5. @xia,怎么加?
(/@Ta/2015-02-06 16:57//)

6. @梦浪的小虾米,这个必须要从论坛网页源码上分析才行,你不说论坛名,再牛的大神也没办法啊。就像看病,病人却不亲自去,只叫朋友去描述情况,这又怎么能好呢。
(/@Ta/2015-02-06 16:58//)

7. @xia,大神。这个怎么添加?
<?php
date_default_timezone_set('PRC');
@ignore_user_abort(true);
@set_time_limit(0);
$uid=isset($_GET['uid'])?$_GET['uid']:NULL;
@require("../conn.php");
$db = @mysql_connect("$dbhost","$dbuser","$dbpassword") or
die("
<center>连接数据库失败,请稍后再试...
</center>
");
mysql_select_db("$dbmysql",$db);
mysql_query("set names utf8");
date_default_timezone_set("PRC");


	    function get_match($get,$perl,$num){
			if(preg_match_all('~'.$perl.'~is',$get,$a)){
				return $a[$num];
			}else{
				return 0;
			}
		}
        function do_count($data){
			//对要存进数据库的数据处理
			$a=array('|1|','|2|','|3|','|4|','|5|','|6|','|7|','|8|','|9|','|10|');
			$b=array(';','$',"'",'"','?','(',')','.','*',' ');
			$data=str_replace($b,$a,$data);
			return $data;
		}
		function did_count($data){
			//对数据库提取的数据反处理
			$a=array('|1|','|2|','|3|','|4|','|5|','|6|','|7|','|8|','|9|','|10|');
			$b=array(';','$',"'",'"','?','(',')','.','*',' ');
			$data=str_replace($a,$b,$data);
			return $data;
		}
		function docount($docontent){ 
			if(preg_match_all('~{(.*?)}=>{(.*?)}~ix',$docontent,$a)){
				$x=0;
				foreach($a[1] as $b){
					$c=$a[2][$x];
					$b=str_replace(array('[变量]','/'),array('(.*?)','\/'),$b);
					$c=preg_replace('/\[变量(\d{1,2})\]/i','${\\1}',$c);
					$array1[$x]='/'.$b.'/i';
					$array2[$x]=$c;
					$x++;
				}
				$z[0]=$array1;
				$z[1]=$array2;
				return $z;
			}else{
				return 0;
			}
		}
echo'<meta http-equiv="content-type" content="text/html"; charset="utf-8">';
$check=mysql_query("select*from caiji where uid='$uid' limit 1");
if($row=mysql_fetch_array($check)){
if($row['active']==1){
	$url=str_replace('[变量]',$row['p'],$row['url']);
	$title=did_count($row['title']);
	$content=did_count($row['content']);
	$title=str_replace(array('[变量]','[标题]'),array('(.*?)','(.*?)'),$title);
	$content=str_replace(array('[变量]','[内容]'),array('(.*?)','(.*?)'),$content);
	ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)');
	$get1=file_get_contents($url);
	function get_html($html){
		$encode=mb_detect_encoding($html,array('UTF-8','gb2312','gbk'));
		if($encode!='UTF-8'){
			$html=iconv('GBK','UTF-8',$html);
		}
		return $html;
	}
	$get=get_html($get1);
	    if($get==null){
			echo"未获取任何内容,请检查你填写的网址:$url";			
		}else{
		if($a=get_match($get,$title,$row['title_count'])){
			if($b=get_match($get,$content,$row['content_count'])){
				if(count($a)==count($b)){
					$dotitle=docount(did_count($row['dotitle']));
					$docontent=docount(did_count($row['docontent']));
					$now=date("y-m-d H:i:s");
					$z=0;
					$x=0;
					$author_id=$row['author_id'];
					$kind=$row['kind'];
					foreach($a as $titles){
					if($dotitle==0){
					$titles=trim($titles);
					}else{
					$titles=preg_replace($dotitle[0],$dotitle[1],trim($titles));
					}
					if($docontent==0){
					$contents=trim($b[$z]);
					}else{
					$contents=preg_replace($docontent[0],$docontent[1],trim($b[$z]));
					}
					$check_title=mysql_query("select 1 from article where title='$titles' limit 1");
					if(!mysql_fetch_array($check_title)){
					mysql_query("insert into article(author_id,title,content,active,scan,settime,up,down,share,city)values('$author_id','$titles','$contents',1,'$kind','$now',200,30,60,null)");
					$x++;
					}
					$z++;
					}
					if($row['p']==1){
					mysql_query("update caiji set settime='$now',count=count+$x where uid='$uid'");
					}else{
					mysql_query("update caiji set p=p-1,settime='$now',count=count+$x where uid='$uid'");
					}
					echo"成功采集{$x}条";
				}else{
					echo"标题或者内容采集规则不唯一<br>";
					echo "标题".count($a)."个<br>";
					echo "内容".count($b)."个<br>";
					print_r($a);
				    print_r($b);
					
				}
			}else{
				echo"内容采集规则不正确";
			}
		}else{
			echo"标题采集规则不正确";
		}
		}
}else{
	echo "此采集规则已被暂停";
}
}else{
    header("Location:../index.php");
}
?>
(/@Ta/2015-02-06 16:58//)

8. @3srs-arox,我想用rand函数,因为我感觉它应该是min到max的六位数的范围!但是我不知道如何解决重复采集同一篇帖子的问题!想if判断但是我又怕运气太差,if判断了几百次都没采集到帖子
(/@Ta/2015-02-06 17:00//)

9. @qzy,se城《说这个会被站长干掉的》
(/@Ta/2015-02-06 17:01//)

10. @xia,我也想匹配,问题是不知道下一个id,,下一个为(100001,999999)中的一个,
(/@Ta/2015-02-06 17:05//)

11. @qzy@xia,不说了,先去写写看,实践中才能解决问题,干谈论也没有用,实在不行我就一个个判断,是我就采集,不是我跳过……
(/@Ta/2015-02-06 17:08//)

12. @梦浪的小虾米,目测楼主想干某些邪恶事,我还是不掺和了。
(/@Ta/2015-02-06 17:08//)

13. $id=136954;
$sql="select *from bbs limit '$id',1 order by id";上面的SQL可以调出下一个帖子@梦浪的小虾米,我是这么干的,链接就不要我帮你了吧
(/@Ta/2015-02-06 17:37//)

14. @梦浪的小虾米,原来你说的别的网站,这个真没办法
(/@Ta/2015-02-06 17:39//)

15. @梦浪的小虾米,用火车头。
(/@Ta/2015-02-06 17:44//)

16.
(/@Ta/2015-02-06 18:12//)

回复需要登录

9月3日 03:50 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1