PHP实现获取百度top50的搜索排行关键字

很多站长谈SEO优化时对百度热门关键词很感兴趣,合理利用热门关键词进行优化对网站排名是有帮助的,当然我说的是合理利用,可不能滥用百度关键词,起码某些关键词对应的内容应该是你的网站上可以提供的。扯远了。。
我今天要说的是如何用PHP自动获取百度TOP50热门关键字。至于如何利用这些关键字就是你的事了。
首先,找到百度TOP50关键字出现的正则(搜索)(搜索),也就是关键字前后有什么特征代码。获取地址:http://top.baidu.com/buzz/top_keyword.html,打开网页后,右键查看网页源代码,网页源代码中每个关键字前后特征为:
* ,*为不固定,决定于网站内容的。
获取思路是用PHP字符串搜索函数:1、获取子串位置stripos(主符串,要搜索的字符子串)2、获取指定位置的字串substr(原字符串,位置,[长度]),为了不重复搜索,每次均从字符串特证码位置截取到末尾,再找到想要的关键字,然后去掉前一个特征码,重复工作50次就OK了。

代码如下:

$txt="";
$item="";
$source = file_get_contents('http://top.baidu.com/buzz/top_keyword.html');
$start=stripos($source,'http://www.baidu.com/baidu?cl=3&tn=baidutop10&wd=');
$source=substr($source,$start+strlen('http://www.baidu.com/baidu?cl=3&tn=baidutop10&wd='));
$start=stripos($source,'>');
if ($start>0){
$source=substr($source,$start+1);
$start=stripos($source,' <');

$item=substr($source,0,$start);
}
if ($item!=""){
$txt="当前热门:".$item." ";
$item="";
}
for ($i=1;$i <50;$i++) { 
$start=stripos($source,'http://www.baidu.com/baidu?cl=3&tn=baidutop10&wd=');
$source=substr($source,$start+strlen('http://www.baidu.com/baidu?cl=3&tn=baidutop10&wd='));
$start=stripos($source,'>');
if ($start>0){
$source=substr($source,$start+1);
$start=stripos($source,' <');
$item=substr($source,0,$start);
}
else{
break;
}
if ($item!=""){
$txt.=$item." ";
}
else{
break;
}



    } 
echo $txt;
?>



最后输出结果就是:
当前热门:关键字1+空格+关键字2+空格+....
本贴原创:巴比站长(http://www.babi123.com)转载请注明出处。

你可能感兴趣的:(PHP实现获取百度top50的搜索排行关键字)