首页 » 后端 » PHP » 正文

PHP版百度、搜搜排名查询工具代码

发布者:站点默认
2013/01/6 浏览数(2,013) 分类:PHP PHP版百度、搜搜排名查询工具代码已关闭评论

效果:

PHP 查询百度、搜搜排名代码示例

PHP 查询百度、搜搜排名代码示例

这里有我做的示例:http://www.wqit.net/seoorder.php

HTML

<script src="static/js/seoorder.js"></script>
<table class="data">
	<tr>
		<td colspan="5" class="tip">
			提示:因搜索引擎的不可控性,排名可能会突然上升、下降或各地区的查询结果不相同,以下信息仅供临时参考。<br />
			   本次查询地点:河南郑州 <a href="http://www.baidu.com/" target="_blank">[打开百度]</a>
			<a href="http://www.soso.com/" target="_blank">[打开搜搜]</a>
			<a href="javascript:void(0);" id="search" class="more">【点击查询排名】</a>
		</td>
	</tr>
	<tr>
		<th scope="col">序号</th>
		<th scope="col">客户名称</th>
		<th scope="col">关健字</th>
		<th scope="col">百度排名</th>
		<th scope="col">搜搜排名</th>
	</tr>
	<?php
		// ....
		while( $r = /*....*/ ){
			$i++;
	?>
	<tr>
		<td class="center"><?php echo $i;?></td>
		<td><?php echo $r['title'];?></td>
		<td class="center"><?php echo $r['keywords'];?></td>
		<td class="center"><div class="baiduLoading" word="$r['keywords'];?>" url="<?php echo $r['linkurl'];?>">准备查询...</div></td>
		<td class="center"><div class="sosoLoading" word="<?php echo $r['keywords'];?>" url="<?php echo $r['linkurl'];?>">准备查询...</div></td>
	</tr>
	<?php
		}
	?>
</table>

JS

seoorder.js

$(function(){
	$('#search').click(function(){
		$("table div").html('正在查询...');
		// baidu
		$("table div.baiduLoading").each(function(i){
			var word = $(this).attr('word');
			var url = $(this).attr('url');
			$.get("/plugin/seo/getBaiduOrder.php?key="+word+"&url="+url, function(data){
				$("table div.baiduLoading").each(function(j){
					if(i == j) $(this).html(data);
				});
			},'html');
			word = url = '';
		});
		// soso
		$("table div.sosoLoading").each(function(i){
			var word = $(this).attr('word');
			var url = $(this).attr('url');
			$.get("/plugin/seo/getSosoOrder.php?key="+word+"&url="+url, function(data){
				$("table div.sosoLoading").each(function(j){
					if(i == j) $(this).html(data);
				});
			},'html');
			word = url = '';
		});
	});
});

PHP

getBaiduOrder.php

<?php
// ?key=string&url=www.abc.com
$key = isset($_GET['key']) ? trim($_GET['key']) : '';
$url = isset($_GET['url']) ? trim($_GET['url']) : '';
if(empty($key) || empty($url)){
	exit('Error');
}else{
    if( count(explode('.',$url)) <= 2){
        $url = ltrim($url,'http://');
        $url = 'www.' . $url;
    }
    s($key,$url);
}

function s($keyword,$url,$page = 1){
    $rsState = false;
    
    $enKeyword = urlencode($keyword);
    $firstRow = ($page - 1) * 10;
    
    if($page > 10){
        echo '<span style="color:#CCC;">10页内暂无排名</span>';
    }else{
		 $contents = @file_get_contents("http://www.baidu.com/s?wd=$enKeyword&pn=$firstRow");
		 if(!$contents) exit('查询超时');
		 preg_match_all('/<table[^>]*?class="result"[^>]*>[\s\S]*?<\/table>/i',$contents,$rs);
		 foreach($rs[0] as $k=>$v){
			  if(strstr($v,$url)){
					$rsState = true;
					echo '
						<a target="_blank" title="进入百度查看" href="http://www.baidu.com/s?wd='.$enKeyword.'&pn='.$firstRow.'">第' . $page . '页,第' . ++$k . "个</a>";
					break;
			  }
		 }
		 unset($contents);
		 if($rsState === false){
			  s($keyword, $url,++$page);
		 }
    }
}
?>

getSosoOrder.php

<?php
// ?key=string&url=www.abc.com
$key = isset($_GET['key']) ? trim($_GET['key']) : '';
$url = isset($_GET['url']) ? trim($_GET['url']) : '';
if(empty($key) || empty($url)){
	exit('Error');
}else{
    if( count(explode('.',$url)) <= 2){
        $url = ltrim($url,'http://');
        $url = 'www.' . $url;
    }
    s($key,$url);
}

function s($keyword,$url,$page = 1){
    $rsState = false;
    
    $enKeyword = urlencode($keyword);
    $firstRow = $page;//($page - 1) * 10;
    
    if($page > 10){
        echo '<span style="color:#CCC;">10页暂内无排名</span>';
    }else{
		 //http://www.soso.com/q?w=$enKeyword&lr=&sc=web&ch=w.p&num=10&gid=&cin=&site=&sf=0&sd=0&nf=0&pg=$firstRow
		 $contents = @file_get_contents("http://www.soso.com/q?w=$enKeyword&lr=&sc=web&ch=w.p&num=10&gid=&cin=&site=&sf=0&sd=0&nf=0&pg=$firstRow");
		 if(!$contents) exit('查询超时');
		 preg_match_all('/<li[^>]*?loc="*?"[^>]*>[\s\S]*?<\/li>/i',$contents,$rs);
		 foreach($rs[0] as $k=>$v){
			  if(strstr($v,$url)){
					$rsState = true;
					echo '
						<a target="_blank" title="进入搜搜查看" href="http://www.soso.com/q?w='
						.$enKeyword.'&lr=&sc=web&ch=w.p&num=10&gid=&cin=&site=&sf=0&sd=0&nf=0&pg='.$firstRow.
						'">第' . $page . '页,第' . ++$k . "个</a>";
					break;
			  }
		 }
		 unset($contents);
		 if($rsState === false){
			  s($keyword, $url,++$page);
		 }
    }
}
?>

<完>

点击返回顶部
  1. 留言
  2. 联系方式