文章伪原创检测(关键词原创度检测源代使用百度搜索为准的结果为哪般)

优采云 发布时间: 2021-09-14 03:14

  文章伪原创检测(关键词原创度检测源代使用百度搜索为准的结果为哪般)

  前言

  我去年写了一个PHP伪原创工具,但有时需要查看伪原创之后的文章原创度,也就是说搜索引擎上是否有类似的文章。

  这次原创度测源代以百度搜索为标准。

  先拼凑百度搜索的url,百度限制搜索词38个汉字以内,其他的将被丢弃。

  关键词

  php curl 访问函数源码

  [PHP] 纯文本视图复制代码

  function curl($url){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$httpheader[] = "Accept:*/*";

$httpheader[] = "Accept-Encoding:gzip,deflate,sdch";

$httpheader[] = "Accept-Language:zh-CN,zh;q=0.8";

$httpheader[] = "Connection:close";

curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);

curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0');

curl_setopt($ch, CURLOPT_ENCODING, "gzip");

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

$ret = curl_exec($ch);

curl_close($ch);

return $ret; }

  好的,现在百度搜索的url也可以了,那怎么查看文章的原创度?

  首先要去掉一个文章的所有html标签,然后需要使用如下代码

  [PHP] 纯文本视图复制代码

  function ClearHtml($str)

{

$str = trim($str);

$str = strip_tags($str,"");

$str = preg_replace("/\t/","",$str);

$str = preg_replace("/\r\n/","",$str);

$str = preg_replace("/\r/","",$str);

$str = preg_replace("/\n/","",$str);

$str = preg_replace("/ /","",$str);

$str = preg_replace("/ /","",$str);

return trim($str);

}

  那么我们必须把重新排列的文章分成一个38个汉字的数组,使用的代码是

  [PHP] 纯文本视图复制代码

  function mbStrSplit ($string, $len=38) {

$start = 0;

$strlen = mb_strlen($string);

while ($strlen) {

$array[] = mb_substr($string,$start,$len,"utf8");

$string = mb_substr($string, $len, $strlen,"utf8");

$strlen = mb_strlen($string);

}

return $array;

}

  如果你的PHP环境是PHP7.4,可以直接用下面的内置函数把文章分成一组38个汉字,但是我用的是上面的,我还没有内置暂时最新的PHP环境。

  [PHP] 纯文本视图复制代码

  mb_str_split ( string $string [, int $split_length = 1 [, string $encoding = mb_internal_encoding() ]] ) : array

ע:https://www.php.net/manual/zh/function.mb-str-split.php

  以下是文章中原创度的38个汉字之一,获取源码。我就不一一解释了。感觉我这里的代码不是很好。如果优化过,请回复,谢谢。

  [PHP] 纯文本视图复制代码

  function bdycl($content){

$info=curl('https://www.baidu.com/s?ie=utf8&wd='.urlencode($content));

preg_match_all("/(.*?)(.*?)href=\"(.*?)\"/is", $info,$baidu);

$count1=count($baidu['1']);

for($i=0;$i1){

$baiduem='';

foreach($baidu_em[1] as $value){

$baiduem.=$value;

}

$bdem[]=[

'content'=>$baiduem,

'url'=>$baidu['3'][$i]

];

}else{

$bdem[]=[

'content'=>@$baidu_em[1][0],

'url'=>$baidu['3'][$i]

];

}

}

if(is_array($bdem)){

$count=count($bdem);

$in=[];

for($i=0;$i90){

$in[]=[

'similar'=>$ii,

"content"=>$bdem[$i]['content'],

'url'=>$bdem[$i]['url']

];

}

}

array_multisort(array_column($in,'similar'),SORT_DESC,$in);

if(isset($in['0'])){

$in=$in['0'];

}

return ['similar'=>(100-array_sum($similar)/count($bdem)),'content'=>$in];

}

}

  

  我们已经写完了一组 38 个汉字。现在我们需要查询多组一组。以下是源码

  [PHP] 纯文本视图复制代码

  function ycl($content){

$info=mbStrSplit($content);

$count=count($info)-1;

if($count$str];

}

  然后随便从网上找了一篇文章的文章,测试的结果是:

  

  好的,就是这样,谢谢观看。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线