前言
本人去年写了一个PHP伪原创的工具,但是有时候还需要查看一下伪原创后的文章原创度,换句话说在搜索引擎上是否有类似的文章。

本次原创度检测源代使用百度搜索为准。

首先拼凑百度搜索的url,并且百度限制了搜索词在38个汉字以内,其他的会被丢弃。

https://www.baidu.com/s?ie=utf8&wd=关键词

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

注:[url=https://www.php.net/manual/zh/function.mb-str-split.php]https://www.php.net/manual/zh/function.mb-str-split.php[/url]

以下为文章中其中一个38个汉字的原创度获取源代码,我就不一一解释了,我感觉我这里代码写的不太好,如果您有优化好的,请回复,谢谢。
[PHP] 纯文本查看 复制代码function bdycl($content){

$info=curl(\’https://www.baidu.com/s?ie=utf8&wd=\’.urlencode($content));
preg_match_all("/<div class=\\"c-abstract\\">(.*?)<\\/div>(.*?)href=\\"(.*?)\\"/is", $info,$baidu);

$count1=count($baidu[\’1\’]);

for($i=0;$i<$count1;$i++){
preg_match_all("/<em>(.*?)<\\/em>/is", $baidu[\’1\’][$i],$baidu_em);
$count=count($baidu_em[1]);
if($count>1){
$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;$i<$count;$i++){
similar_text($content,$bdem[$i][\’content\’],$per);
$ii=ceil($per);
$similar[]=$ii;
if($ii>90){
$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];

}
}

1597558630(1).png

单独一组38个汉字咱们已经写完了,现在需要来一个查询多组的。以下为源代码

[PHP] 纯文本查看 复制代码function ycl($content){
$info=mbStrSplit($content);
$count=count($info)-1;
if($count<11){
$rand=$count+1;
}else{
$rand=\’10\’;
}
$tmp = range(0,$count);
$array_rand=array_rand($tmp,$rand);

foreach($array_rand as $v){
$ycl[]=bdycl($info[$v]);

}
$count=count($ycl);
for($i=0;$i<$count;$i++){
$similar[$i]=$ycl[$i][\’similar\’];
}
$ycd=ceil(((array_sum($similar)/count($ycl))));

if($ycd <=30){
$str = "原创度非常低,不建议发布。";
}else if($ycd <=60 && $ycd > 30){
$str = "原创度比较低,建议修改后再发布。";
}else if($ycd <=75 && $ycd > 60){
$str = "原创度还可以,建议修改后再发布。";
}else if($ycd <= 85 && $ycd > 75){
$str = "原创度较好,属于原创文章,可以发布。";
}else if($ycd > 85){
$str = "原创度非常棒,属于原创文章,可以发布。";
}
return [\’ycl\’=>$ycd,\’info\’=>$str];

}

然后随便从网上找一篇文章,进行检测的结果为:

1597558483(1).png

好了,到此结束,谢谢大家的观看。

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源