欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php的百度关键字排名查询函数,第二页的站点无返回值

程序员文章站 2022-05-10 14:15:38
...
第一页的关键词都返回正常结果,第二页的收不到值,不知道怎么回事,代码如下
 2)	{		return array(0,0,0);	}		try{		$contents = file_get_contents("http://www.baidu.com/s?wd=$enKeyword&pn=$firstRow");	}catch (Exception $e){		echo '超时';		die();	}		preg_match_all('/
]*?class="result"[^>]*>[\s\S]*?/i', $contents, $rs); foreach ($rs[0] as $k => $v) { $px++; $v = str_replace(array( '', '' ), '', $v);//去除英文关键字的加粗标签 if (strstr($v, $url)) { $rsState = true; $arr_rank=array($px,$page,++$k); //print_r($arr_rank); return array($px,$page,++$k);//$px排名,$page为所在页数,++$k为关键词所在页数的具体位置 } } unset($contents); if ($rsState === false) { search($keyword, $url, ++$page); }}?>$keyword1="百度优化";$site1="ppc.admin5.com";$keyword2="青岛酒店预订";$site2="www.hotel0512.com";$keyword3="青岛酒店预订";$site3="www.17u.com";$arr_paiming1=search($keyword1, $site1);print_r($arr_paiming1);echo '
';$arr_paiming2=search($keyword2, $site2);print_r($arr_paiming2);echo '
';$arr_paiming3=search($keyword3, $site3);print_r($arr_paiming3);echo '
';?>


回复讨论(解决方案)

这个问题很复杂么?

不知道返回数据的含义
也不知道第二页该是什么

你也没有示例第二页的操作

不知道返回数据的含义
也不知道第二页该是什么

你也没有示例第二页的操作

可以看这里,http://hi.baidu.com/alexkh/item/023a90dd18ca59c51a72b415
我只是把这个函数提出来了而已

//print_r($arr_rank);             return array($px,$page,++$k);//$px排名,$page为所在页数,++$k为关键词所在页数的具体位置 


其实奇怪就奇怪在这个地方,print_r()的时候还有值呢,return的时候就成空了

来个明白人给瞅瞅吧

你有递归,为何不返回递归数据呢?
if ($rsState === false)
{
search($keyword, $url, ++$page);
}
至少因为应为
if ($rsState === false)
{
return search($keyword, $url, ++$page);
}

结果应该是这样的吗?(search入口处打印了传入参数)
百度优化, ppc.admin5.com, 1
Array
(
[0] => 6
[1] => 1
[2] => 7
)
青岛酒店预订, www.hotel0512.com, 1
青岛酒店预订, www.hotel0512.com, 2
Array
(
[0] => 4
[1] => 2
[2] => 5
)
青岛酒店预订, www.17u.com, 1
Array
(
[0] => 2
[1] => 1
[2] => 3
)

谢谢了,看来我还是不懂算法啊

你有递归,为何不返回递归数据呢?
if ($rsState === false)
{
search($keyword, $url, ++$page);
}
至少因为应为
if ($rsState === false)
{
return search($keyword, $url, ++$page);
}

结果应该是这样的吗?(search入口处打印了传入参数)
百度优化, ppc.admin5.com, 1
Array
(
[0] => 6
[1] => 1
[2] => 7
)
青岛酒店预订, www.hotel0512.com, 1
青岛酒店预订, www.hotel0512.com, 2
Array
(
[0] => 4
[1] => 2
[2] => 5
)
青岛酒店预订, www.17u.com, 1
Array
(
[0] => 2
[1] => 1
[2] => 3
)

php的百度关键字排名查询函数,第二页的站点无返回值

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • php的百度关键字排名查询函数,第二页的站点无返回值
  • 专题推荐

    作者信息
    php的百度关键字排名查询函数,第二页的站点无返回值

    认证0级讲师

    推荐视频教程
  • php的百度关键字排名查询函数,第二页的站点无返回值javascript初级视频教程
  • php的百度关键字排名查询函数,第二页的站点无返回值jquery 基础视频教程
  • 视频教程分类