Typecho检测文章是否被百度收录

Typecho检测文章是否被百度收录,直接点的说,这个功能是从Wordpress处拿过来改装的,一开始用的是每个文章都直接检测一次,那么代码就很简单了,直接拿着URL去百度搜索里面找,根据结果,找到里面是否存在“没有找到”等字眼,若存在说明未收录,反之则收录了。

当然这个方法未必就是准确的,只是大部分情况下,还是可以的。不准确的情况是,如果你的文章标题或者摘要存在这些字,又刚好被百度收录了,那么检测结果就是未收录。。。我想这个情况应该不多吧。

好吧,网上公开的百度搜索结果检测代码:

/*
* 检测网页是否被百度收录,返回1则表示收录 返回0表示没有收录  
* @ param string $url 待检测的网址  
*/  
function checkBaiduInclude($url){   
    $url='http://www.baidu.com/s?wd='.$url;   
    $curl=curl_init();   
    curl_setopt($curl,CURLOPT_URL,$url);   
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);   
    $rs=curl_exec($curl);   
    curl_close($curl);   
    if(!strpos($rs,'没有找到')){   
        return 1;   
    }else{   
        return 0;   
    }      
}

然后在每个文章的页面,调用一次函数checkBaiduInclude,如果结果是1,则是已经收录,反之是未收录,是不是很简单呢?

<?php    
 if(checkBaiduInclude('get_permalink()') == 1)   
 echo "百度已收录";   
 else  
 echo "百度未收录";    
 ?>

当然,这个是最精简的版本了,可以加点判断,或者再处理下,未收录的可以点击提交给百度,已经收录的查看收录结果。

提交到百度收录的也很简单,如:

http://zhanzhang.baidu.com/sitesubmit/index?sitename=http://itlu.org/articles/2200.html

当然,我的百度提交是做了验证的,可以通过http://itlu.org/index/sendbaidu.php 来提交,再一个,我又重新写了一个小工具,可以直接提交,域名和token都预设在里面,是不是更简单呢?

这个版本是直接调用的,如果每天有1000UV,是不是要从主机访问1000次呢?所以继续改进是很有必要的,我就做了一个数据库版本的,将检测结果写进数据库,数据库用的就是SQLite,这个在下一篇文章详述。

一如既往的来个图吧。

美女

查看 数据库 搜索引擎 Typecho sqlite的相关文章

转载本站原创文章请注明:文章转自 挨踢路,链接: https://itlu.org/articles/2200.html

已有 8 条评论

  1. 我都不关心百度收不收录了,不过想说的是最后的图不错~

    1. 为了大家,也只能尽最大的努力了。

  2. 我喜欢文中的美女多些

  3. 最后一张图是亮点

    1. 看文章,看文章

  4. 通过文章列表的图片点击进来的,虽然技术很好,但是图才是重点

    1. 男人本色啊,就喜欢这么直接的

添加新评论

您好,#请填信息#修改