PHP批量查询网站百度收录情况,多域名查询。。。

摘要一个批量查询多个站点百度收录情况的小程序,没什么复杂的。原理很简单,先@file_get_contents()获取site:域名的页面内容,然后explode()找到结果数。主要方便管理多个站点,举一反三,是否其他SEO数据采集也不是什么难事?

写在前面,一个批量查询多个站点百度收录情况的小程序,没什么复杂的。原理很简单,先@file_get_contents()获取site:域名的页面内容,然后explode()找到结果数。主要方便管理多个站点,举一反三,是否其他SEO数据采集也不是什么难事?

PHP百度批量查询收录

1、新建baidu.php

  1. <?php
  2. $mysite=array('www.xp-sem.com','www.qq.com');//按格式添加你的域名
  3. foreach($mysite as $site){
  4. echo '<fieldset><legend>'.$site.'</legend><a href="http://www.baidu.com/s?wd=site%3A'.$site.'" target="_blank" id="'.$site.'">loading...</a></fieldset>';
  5. echo '<iframe frameBorder="0" width="0" scrolling="no" height="0" src="baidu_result.php?site='.$site.'"></iframe>';
  6. }
  7. ?>

2、新建baidu_result.php

  1. <?php
  2. $site=$_GET['site'];
  3. $buffer = @file_get_contents("http://www.baidu.com/s?wd=site:".$site"r");
  4. $buffer = iconv("utf-8""gbk//IGNORE"$buffer);//UTF-8 转GB编码
  5. if ($buffer) {
  6. $data=cut($buffer,"该网站共有","个网页被百度收录");
  7. if(emptyempty($data))
  8. {
  9. $data=cut($buffer,"找到相关结果数约","个</b></p>");//处理收录只有1个结果的情况
  10. $data = emptyempty($data) ? '<a style="color:red;" rel="external nofollow" title="点击提交,谢谢您!" target="_blank" href="http://zhanzhang.baidu.com/sitesubmit/index?sitename='.$site.'">未收录,点击提交</a>' : $data;
  11. }
  12. ?>
  13. <script type='text/javascript'>parent.document.getElementById('<?php echo $site; ?>').innerHTML='<?php echo $data; ?>';</script>
  14. <?php
  15. }
  16. function cut($file,$start,$end){
  17. $msg=explode($start,$file);
  18. $msg=explode($end,$msg[1]);
  19. return trim($msg[0]);
  20. }
  21. ?>

3、执行baidu.php,是不是OK?

给我留言

图片 表情