[火车头]火车采集器伪原创插件教程

2012年4月27日10:56:56 发表评论 6,487 views

 

  

        本篇文章是在火车官方论坛看到的,觉得以后可能会对自己有用,拷过来留名待用。

        最近做了几个朋友的采集任务,基本都垃圾站的

  我分析下伪原创有以下几种

  一、同义词替换

  二、打散段落句式

  三、几个文章合成一个文章

  四、在以上三点基础上 增加锚文本关键字的插入

  教程站位 用火车头插件 完成以上四种伪原创操作

  最近比较忙 出去找工作未果下面先说下原理

  打乱句式 和按照标点打乱句子其实很简单。在火车的帮助文档里有这样的一段程序

  $arr = explode("\n",$LabelArray['内容']); //用换行分隔形式一数组

  shuffle($arr);//打乱数组

  $LabelArray['内容']= implode("\n",$arr);//重新做成字符串

  这是按照段落打散的 如果将\n 换成逗号 句号 那就是按照所设置的标点打散段落。这是比较初级的了。如果你是想用这个数据直接用一些群发软件发 有的群发软件自动加入关键字 那么就不必要进行处理了。如果你需要自己加入关键字。那么下载飘飘的随机插入关键字插件 进行改装下就可以。

  我将改装后的代码附上保存为插件就可以了

  <?php

  /******************火车头插件 爱好者108147757******BY飘飘******感谢seolei提供算法*********/

  set_time_limit(0);

  if($LabelArray['内容']&&$LabelArray['关键词文件路径']&&$LabelArray['关键词个数'])

  {

  //配置

  $arr = explode("\n",$LabelArray['内容']); //用换行分隔形式一数组

  shuffle($arr);//打乱数组

  $LabelArray['内容']= implode("\n",$arr);//重新做成字符串

  $content=$LabelArray['内容'];//读取火车头传送的"内容"数据

  $keynum=$LabelArray['关键词个数'];//读取火车头传送的“关键词个数”数据,内容格式为:3-5 30%(即3到5个之间,百份之30带链接的)

  $filepath=$LabelArray['关键词文件路径'];//读取火车头传送的"关键词文件路径"数据,内容格式为:f:/keyword.txt(注意是斜杠/,路径不支持中文)

  /* if($LabelArray['加粗'])

  {

  $strong=$LabelArray['加粗'];//读取火车头传送的"加粗"数据

  }

  else

  {

  $strong="否";

  }*/

  preg_match('/(\d+)-(\d+) (\d+)%/',$keynum,$key);

  $key_len=rand($key[1],$key[2]);//例每篇文章随机插入3-5个关键词

  $Percent=$key[3];

  $linkkey=round($key_len*($Percent/100));//有链接的关键词个数

  $txtkey=$key_len-$linkkey;//总个数-有链接的个数=无链接的个数

  $linknum=0;

  $txtnum=0;

  if(file_exists($filepath))//判断关键词文件是否存在

  {

  $fp=fopen($filepath,'r');

  while(!feof($fp))//读取关键词文件所有数据到$keyresult

  {

  $keyresult[]=fgets($fp,1024);//逐行读取数据存入数组

  }

  fclose($fp);//关闭文件

  $keyresult_len=count($keyresult);//统计$keyresult总数

  $LabelArray['关键词文件路径']='已找到您设置的:'.$filepath.'关键词文件('.$keyresult_len.'个)。插入有链接的比例是:'.$Percent.'%('.$linkkey.'),无链接的关键词个数:'.$txtkey.'个,总共需插入'.$key_len.'个关键词。';

  for($i=0;$linknum+$txtnum<$key_len;$i++)//$key_len为随机插入关键词的总数

  {

  $randkey=$keyresult[rand(0,$keyresult_len-1)];

  $keyword=iconv("GB2312","UTF-8",$randkey);//转成utf-8

  $keyword=linkreplace($keyword);//将,|*替换成,

  if(strpos($keyword,',')!=false&&$linknum<$linkkey)

  {

  $keyarray[]=$keyword;

  $linknum++;

  }

  else if(strpos($keyword,',')!=true&&$txtnum<=$txtkey)

  {

  $keyarray[]=$keyword;

  $txtnum++;

  }

  }

  //内容分组&插入关键词

  if(preg_match_all('%<[^>]+>|[\x{4e00}-\x{9fa5}]|[[:punct:]]|[^\x{4e00}-\x{9fa5}|^<]+%u',$content,$tempcontent))

  {

  $tempcontent=$tempcontent[0];

  $str_len=count($tempcontent);//统计总数

  $temp_len=(int)($str_len/($key_len+1));//段长

  $start_len=(int)($temp_len/3);//段长的三分一

  $start=0;//开始位置

  $randlink='';

  $linknum=0;

  //取得插入关键词部分的内容

  for($i=0;$i<$key_len;$i++){

  $end=$temp_len*$i+rand($start_len,$temp_len);//结束

  $temp_body=join_str($start,$end,$tempcontent);

  if(strpos($keyarray[$i],',')!=false)

  {

  $tags=explode(',',$keyarray[$i]);

  /*if($strong=='是')

  {

  $randlink='<a href="'.$tags[1].'" alt="'.$tags[0].'"><strong>'.$tags[0].'</strong></a>';

  }else{*/

  $randlink='<a href="'.$tags[1].'" alt="'.$tags[0].'">'.$tags[0].'</a>';//}

  $linknum++;

  }

  else{$randlink=$keyarray[$i];}

  $body=$body.$temp_body.$randlink;

  $start=$end;

  }

  $body=$body.join_str($start,$str_len,$tempcontent);//组合关键词部分内容和剩下的内容。

  }

  //$LabelArray['内容'] = "总共有多少组数据:".$str_len."<br />段长:".$temp_len."<br />".$body ;

  $LabelArray['内容'] = $body ;

  }else{$LabelArray['关键词文件路径']='找不到您设置的:'.$filepath.',请检查。格式为:f:/keyword.txt(注意是斜杠/,路径不支持中文)';}

  //ob_clean();

  }

  else{

  $LabelArray['内容'] ='标题内容、关键词文件路径、关键词个数设置有误。

  请检查标签是否存在或标签的值设置错误。

  标签:关键词文件路径,格式:f:/keyword.txt(注意是斜杠/,路径不支持中文)

  标签:关键词个数,格式:3-5(即3到5个之间)';}

  //公共函数,慎重修改

  //连接字符

  function join_str($start,$end,$arry){

  $body='';

  for($i=$start;$i<$end;$i++){

  $body=$body.$arry[$i];

  }

  return $body ;

  }

  //过滤链接中的字符

  function linkreplace($str)

  {

  $str = trim($str); //删除字符串首部和尾部的空格。

  $str =str_replace("|",",",$str); //替换|成,

  $str = str_replace(",",",",$str); //替换,成,

  $str = str_replace("*",",",$str); //替换*成,

  return trim($str); //删除字符串首部和尾部的空格。

  }

  echo serialize($LabelArray);

  ?>

  红字部分是要添加的代码。

  其实浙西很简单 最复杂的就是文章的交叉伪原创。我想也是大多数朋友想看的

  那么先说下原理。付费版用户是用的是 SQLITE数据库,庆幸的是PHP提供了对SQLITE的操作。当然 如果感觉操作复杂可以让你的采集器是用MYSQL数据库。网上对MYSQL数据库操作的教程一大堆。现在仅说下原理。因为最近忙着找工作 也没时间来做了。其实也不难

  使用插件,选择在保存时。以MYSQL为例。在插件里连接本程序 或者其他程序的MYSQL数据库。随机读出文章,打散,正在采集内容的文章也打散。读出的文章与现在采集的文章组合成新的文章。因为都是打散后的所以组合后又是一个新的文章。因为是随机读出的。在最差的条件下是两篇文章组合。在最好的条件下是采集多少篇就多少篇组合。最后限制下字数截断。否则这样打散组合打散组合 文章多了以后生成的文章的字数可想而知了。作为垃圾站你也不需要那么多字数的文章。只需要关键字就可以。

  更多内容详见我的博客 石家庄SEO http://www.liyunpeng.com

  打散组合后可以继续使用飘飘的工具进行插入关键字。也可以使用我之前发布的DEDE的思想插入过去发过的DEDE文章的标题以提高SEO性能。当然方法有很多。想做出一篇网络上没有的文章很容易。但并不代表百度会搜录这篇文章,这也和你网站的权重以及优化等多方面原因有关

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: