请选择 进入手机版 | 继续访问电脑版
绿茶科技社区
看过一个百度小偷的网站也达到了pr6。收录十万多!! 在经过 荐礼啦 四十天的实践之后 发现百度对这个确实挺友好的。
最近发现知道和问问小偷的版本越来越多了!!
看过一个百度小偷的网站也达到了pr6。收录十万多!!
在经过 荐礼啦 四十天的实践之后 发现百度对这个确实挺友好的。
从网站访问来看 很多也是从百度搜索来的!
所以用知道和问问来填充网站内容还是可行的。
于是自己开发了一个知道 问问的采集插件
原则上适合 php+mysql 并且文章是在一个表的程序
知道采集代码

  1. <?php
  2. session_start();
  3. header("content-type:text/html;charset=gbk");
  4. require("stole_config.php");
  5. require("conn.php");
  6. require("keyword.php");
  7. $searchStr=$_GET["searchStr"];
  8. $ss=explode(" ",$searchStr);//拆分搜索关键字
  9. $word="";//关键字设为空
  10. foreach($ss as $key=>$t)
  11. {
  12. if($key>0)
  13. {
  14. $word .="+";
  15. }
  16. $word .=urlencode($t);
  17. }
  18. $jl=intval($_GET['jl']);
  19. if(isset($_GET['page']))
  20. {
  21. $page=intval($_GET['page']);
  22. }else{
  23. $page=1;
  24. }
  25. $rs=intval($_GET['rs']);
  26. if($rs>=10)
  27. {
  28. $rs=0;
  29. $page++;
  30. }
  31. if($page>76)
  32. {
  33. echo "采集完毕 ${jl}";
  34. exit();
  35. }
  36. if(!empty($searchStr))//如果搜索
  37. {
  38. //获取问题页面
  39. $content=@file_get_contents("http://zhidao.baidu.com/q?ct=17&lm=0&tn=ikaslist&pn=".(($page-1)*10)."&rn=10&word=".$word);
  40. //获取问题列表
  41. preg_match_all("/<a href="\/question\/(.*)\.html/iUs",$content,$uid);
  42. $uid=$uid[1];//获取详细页文章
  43. $uid=$uid[$rs];
  44. //判断数据是否存在
  45. $suid="bd{$uid}";
  46. $sct=mysql_query("select count(*) from {$table_prefix}c_article where suid='$suid' ");
  47. $sct=mysql_fetch_array($sct);
  48. $sct=$sct[0];
  49. if($sct==0)
  50. {
  51. $content=@file_get_contents("http://zhidao.baidu.com/question/".$uid.".html") ;
  52. $arr=explode('<cq>',$content);
  53. $art_title=$arr[1];
  54. $arr=explode('</cq>',$art_title);
  55. $art_title=$arr[0];//获取标题结束
  56. //判断内容是否符合
  57. $word_arr=explode(",",$cj_word);
  58. $word_allow=false;//初始化是否允许采集
  59. $word_count=count($word_arr);//关键字总数
  60. for($i=0;$i<$word_count;$i++)
  61. {
  62. if(substr_count($art_title,$word_arr[$i])>0)
  63. {
  64. $word_allow=1;
  65. $i=$word_count;
  66. }
  67. }
  68. if($word_allow)//如果满足条件
  69. {
  70. $arr=explode('<cd><pre>',$content);
  71. $contentQuestion=$arr[1];
  72. $arr=explode('</pre></cd>',$contentQuestion);
  73. $contentQuestion=$arr[0];
  74. echo "开始采集内容<br>";
  75. echo "$art_title<br>";
  76. @preg_match_all('/(<ca>|<cn>)<pre>(.*)<\/pre>(<\/ca>|<\/cn>)/iUs',$content,$answerArr);
  77. $answerArr=$answerArr[2];
  78. if($arr_order==1)//随机排序
  79. {
  80. shuffle($answerArr);
  81. }
  82. if($arr_order==2)//倒序
  83. {
  84. $answerArr=krsort($answerArr);//倒序
  85. }
  86. foreach($answerArr as $t)
  87. {
  88. $answerTemp=str_replace('<ca><pre>','',$t);
  89. $answerTemp=str_replace('</pre></ca>','',$answerTemp);
  90. $answerTemp=str_replace('<cn><pre>','',$answerTemp);
  91. $answerTemp=str_replace('</pre></cn>','',$answerTemp);
  92. if(strlen($answerTemp)>$min_t1)
  93. {
  94. $art_content .=$answerTemp."<br>";
  95. }
  96. }
  97. //去除链接
  98. $s1="/(<a .*>)(.*)<\/a>/iUs";
  99. $art_content=preg_replace($s1,${2},trim($art_content));
  100. $art_content=str_replace("\n\r","<br>",$art_content);
  101. if(strlen($art_content)>$min_t2)
  102. {
  103. $title_ct=mysql_query("select count(*) from {$table_prefix}c_article where art_title ='$art_title' ");//查看标题是否重复
  104. $title_ct=@mysql_fetch_array($title_ct);
  105. $title_ct=$title_ct[0];
  106. if($title_ct>0)
  107. {
  108. $art_title .="{$same_title}{$title_ct}";
  109. }
  110. $art_time=date("Y-m-d");
  111. $art_content=strtr($art_content,$keyword);
  112. $sql="insert into {$table_prefix}c_article(art_title,art_content,art_time,art_author,suid) values('$art_title','$art_content','$art_time','$art_author','$suid')";//插入采集表
  113. mysql_query($sql);
  114. if(empty($t_catx_id))//如果无分类
  115. {
  116. $sql2="insert into {$t_table}({$t_art_title},{$t_art_content},{$t_art_time},{$t_artx_author}) values('$art_title','$art_content','$art_time','$art_author')";
  117. }else
  118. {
  119. $sql2="insert into {$t_table}({$t_art_title},{$t_art_content},{$t_art_time},{$t_artx_author},{$t_catx_id}) values('$art_title','$art_content','$art_time','$art_author','$cat_id')";
  120. }
  121. mysql_query($sql2);//插入文章表
  122. $jl++;
  123. //数据库处理完毕
  124. }else
  125. {
  126. echo "内容长度不够";
  127. }
  128. //获取文章内容结束
  129. }else
  130. {
  131. echo "主题不符合要求";
  132. }
  133. }else
  134. {
  135. echo "已经存在";
  136. }$rs++;
  137. file_put_contents("bd.txt","采集{$searchStr}到第{$page}第{$rs}条");
  138. echo "<script>location.href='baidu.php?searchStr=".urlencode($searchStr)."&page=".$page."&rs=".$rs."&jl=".$jl." ';</script>";
  139. exit();
  140. }
  141. ?>
  142. <link href="style.css" rel="stylesheet" type="text/css" />
  143. <table width="700" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC">
  144. <tr>
  145. <td height="50" align="center" bgcolor="#00CC00"><h1><a href="http://www.jianlila.com">荐礼啦</a>知道问问采集插件</h1></td>
  146. </tr>
  147. </table>
  148. <table width="700" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:6px; margin-bottom:6px;">
  149. <tr>
  150. <td height="30" align="center" bgcolor="#FFFFFF"><a href="cj_config.php">采集设置</a> <a href="uninstall.php" onclick="return confirm('您确定要卸载采集插件吗');">卸载采集</a> <a href="cj_view.php">查看采集记录</a> <a href="cj_help.php">采集帮助</a> <a href="baidu.php" target="_blank">知道采集</a>  <a href="wenwen.php" target="_blank">问问采集</a></td>
  151. </tr>
  152. </table>
  153. <table width="537" height="45" align="center" style="margin-top:30px;"><tr><td height="39">
  154. <form id="form1" name="form1" method="get" action="baidu.php">
  155. <div id="search">
  156. <input name="searchStr" type="text" id="searchStr" value="<?php echo $searchStr; ?>" size="60" />
  157. <input type="submit" name="searchBtn" id="searchBtn" value="知道偷偷" style="height:25px; line-height:25px;" />
  158. </div>
  159. </form>
  160. </td></tr></table>
复制代码
问问采集代码:

  1. <?php
  2. session_start();
  3. header("content-type:text/html;charset=utf-8");
  4. require("stole_config.php");
  5. require("conn.php");
  6. require("keyword.php");
  7. if(!empty($_POST['ask']))
  8. {
  9. $ask=urlencode(trim($_POST['ask']));//获取表单提交的问题
  10. $sp="S".$ask;
  11. }else
  12. {
  13. $sp=urlencode($_GET['sp']);
  14. }
  15. if(empty($_GET['jl']))
  16. {
  17. $_GET['jl']=1;
  18. }
  19. $jl=$_GET['jl'];
  20. $pg=intval($_GET['pg']);//获取页数
  21. $rs=intval($_GET['rs']);//获得 记录的参数
  22. if($rs>9)
  23. {
  24. $rs=0;
  25. $pg++;
  26. }
  27. if($pg>51)
  28. {
  29. echo "采集完毕! 总共采集 ".urldecode($sp)." ".$jl."条记录";
  30. exit();
  31. }
  32. if($sp)//有设定答案才开始
  33. {
  34. $str=@file_get_contents("http://wenwen.soso.com/z/Search.e?sp={$sp}&pg={$pg}");
  35. @preg_match("/<ol class="result_list">(.*)<\/ol>/iUs",$str,$asklist);//获取问答列表
  36. //echo $asklist[1];
  37. $url="/<a target="_blank" href="\/z\/(q.*\.htm)/iUs";
  38. @preg_match_all($url,$asklist[1],$urllist);//获取 所有的问题
  39. $t=$urllist[1][$rs];
  40. $uid=$t;
  41. $suid="ww{$uid}";
  42. $sct=mysql_query("select count(*) from {$table_prefix}c_article where suid='$suid' ");
  43. $sct=mysql_fetch_array($sct);
  44. $sct=$sct[0];
  45. if($sct==0)
  46. {
  47. $html=@file_get_contents("http://wenwen.soso.com/z/${t}");
  48. $html=str_replace("<pre>","",str_replace("</pre>","",$html));
  49. $html=str_replace("<br/><br/><br/>","<br/><br/>",$html);
  50. //echo $html;
  51. @preg_match("/<div class="question_main">.*<h3>(.*)<\/h3>/iUs",$html,$ask_title);
  52. $art_title=$ask_title[1];
  53. @preg_match("/<div class="answer_con">(.*)<\/div>/iUs",$html,$answer);
  54. $j=count($answer)-1;
  55. $art_content="";//商品详细
  56. for($i=$j;$i>=1;$i--)
  57. {
  58. if(strlen($answer[$i])>$min_t1)
  59. {
  60. $art_content .= $answer[$i];
  61. }
  62. }
  63. $art_content=trim($art_content);
  64. $s1="/(<a .*>)(.*)<\/a>/iUs";
  65. $art_content=preg_replace($s1,${2},trim($art_content));
  66. $word_arr=explode(",",iconv("gbk","utf-8",$cj_word));
  67. $word_allow=false;//初始化是否允许采集
  68. $word_count=count($word_arr);//总数
  69. for($i=0;$i<$word_count;$i++)
  70. {
  71. if(substr_count($art_title,$word_arr[$i])>0)
  72. {
  73. $word_allow=1;
  74. $i=$word_count;
  75. }
  76. }
  77. if($word_allow)//如果合法
  78. { //开始处理数据库
  79. if(strlen($art_content)>$min_t2)
  80. {
  81. echo "<font color=red>添加中............................</font><br>";
  82. echo $art_title."<br>";
  83. $art_title=iconv('utf-8','gbk', $art_title);
  84. $title_ct=mysql_query("select count(*) from {$table_prefix}c_article where art_title ='$art_title' ");//查看标题是否重复
  85. $title_ct=@mysql_fetch_array($title_ct);
  86. $title_ct=$title_ct[0];
  87. if($title_ct>0)
  88. {
  89. $art_title .="{$same_title}{$title_ct}";
  90. }
  91. $art_content=iconv('utf-8','gbk',str_replace("\r\n","<br>",$art_content));
  92. $art_content=strtr($art_content,$keyword);
  93. $art_time=date("Y-m-d");
  94. $sql="insert into {$table_prefix}c_article(art_title,art_content,art_time,art_author,suid) values('$art_title','$art_content','$art_time','$art_author','$suid')";//插入采集表
  95. mysql_query($sql);
  96. if(empty($t_catx_id))//如果无分类
  97. {
  98. $sql2="insert into {$t_table}({$t_art_title},{$t_art_content},{$t_art_time},{$t_artx_author}) values('$art_title','$art_content','$art_time','$art_author')";
  99. }else
  100. {
  101. $sql2="insert into {$t_table}({$t_art_title},{$t_art_content},{$t_art_time},{$t_artx_author},{$t_catx_id}) values('$art_title','$art_content','$art_time','$art_author','$cat_id')";
  102. }
  103. mysql_query($sql2);//插入文章表
  104. $jl++;//如果存放数据库中 则记录加1
  105. //处理数据库结束
  106. }else
  107. {
  108. echo "长度不够";
  109. }
  110. }else
  111. {
  112. echo "主题不符合要求";
  113. }
  114. }else
  115. {
  116. echo "已经存在";
  117. }
  118. $rs++;
  119. //记录下本次采集 的状况
  120. $f_tt= urldecode($sp)."--页数".$pg." 记录数 ".$jl ;
  121. file_put_contents("ss.txt",$f_tt);
  122. echo "<script>location.href='wenwen.php?jl=".$jl."&sp=".$sp."&pg=".$pg."&rs=".$rs." ';</script>";
  123. exit();
  124. }
  125. ?>
  126. <link href="style.css" rel="stylesheet" type="text/css" />
  127. <table width="700" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC">
  128. <tr>
  129. <td height="50" align="center" bgcolor="#00CC00"><h1><a href="http://www.jianlila.com">荐礼啦</a>知道问问采集插件</h1></td>
  130. </tr>
  131. </table>
  132. <table width="700" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:6px; margin-bottom:6px;">
  133. <tr>
  134. <td height="30" align="center" bgcolor="#FFFFFF"><a href="cj_config.php">采集设置</a> <a href="uninstall.php" onclick="return confirm('您确定要卸载采集插件吗');">卸载采集</a> <a href="cj_view.php">查看采集记录</a> <a href="cj_help.php">采集帮助</a> <a href="baidu.php" target="_blank">知道采集</a>  <a href="wenwen.php" target="_blank">问问采集</a></td>
  135. </tr>
  136. </table>
  137. <form action="wenwen.php" method="post">
  138. <table width="628" height="49" border="0" align="center">
  139. <tr>
  140. <td width="413" align="right"><input name="ask" type="text" id="ask" size="50"></td>
  141. <td width="205"><input type="submit" name="button" id="button" value="问问采集" style=" padding-left:15px; padding-right:15px; height:25px; line-height:25px;"></td>
  142. </tr>
  143. </table>
  144. </form>
复制代码



分享到 :
0 人收藏

3 个回复

倒序浏览
Robin Zhang  高级会员 | 2019-9-27 03:08:10
高手云集 果断围观
Teddys Knowledg  高级会员 | 2019-10-16 07:09:32
我也来顶一下..
李永京  高级会员 | 2019-10-25 06:58:17
我擦!我要沙发!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

举报|Archiver|手机版|小黑屋|Lvchakeji Inc.  

Powered by Discuz! X3.3 © 2001-2016 Comsenz Inc.

返回顶部