当前位置:首页 > 宅科技 > 正文

[php]获取百度搜索结果

为了配合之前的项目——电脑蓝屏手册 ,所以写了一个获取搜索结果的方法,以便实现通过site来搜索指定站点的内容的效果

代码如下:

<?php
/**
* 2018-03-07 取百度搜索结果
*/
header('Content-type: application/json');
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,'https://www.baidu.com/s?ie=utf-8&wd=site%3Abbs.kafan.cn%200x0000001d');
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$html = curl_exec($ch);
curl_close($ch);
preg_match_all("/<h3 class=\"t\">.*?<\/h3>/si",$html,$array_html);
unset($html);
foreach ($array_html[0] as $key => $value) {
preg_match('@(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))@', $value,$url);
$url = get_headers($url[0], TRUE);
$array[$key]=["title"=>strip_tags($value),"url"=>$url['Location']];
}
print_r(json_encode($array));
?>

其中,因为百度的搜索结果中网址部分是加密的,也没看出啥规律,就用get_headers()去取真实地址了,导致效率下降,不知道有没有哪位大触有好的方法

因博主即将开学返校,故博客近期内不再更新,望周知

QQ群号:543825203[电脑问题互助交流]


 

欢迎加入电脑问题互助交流,群聊号码:865856349

文章标题:[php]获取百度搜索结果
本文作者:慕若曦
发表日期:2018-03-7 10:29 星期三    首发于    暮若夕
本文固定链接: https://www.muruoxi.com/2164.html
 
文章标签:
上一篇: 下一篇:

3 条评论

评论加载中...
  1. 沙发
    姬长信   

    这里有重定向去除[private]防偷看小补丁,阻止以一切名义查水表![/private]

    2018年3月8日 上午9:03 评论
    • 慕若曦   

      QWQ,木有看到在哪里

      2018年3月9日 上午12:13 评论
      • 姬长信   

        我用评论框加的链接,没了

        2018年3月9日 上午12:16 评论

发表评论

╮( ̄▽ ̄)╭ |  (= ̄ω ̄=) |  (>﹏<) |  Σ( ° △ °|||)︴ |  Σ(っ °Д °;)っ |  X﹏X |  (╯-_-)╯╧╧

小提示:提交评论后刷新本页面即可看到隐藏的文件哦~
十年之约
加载中……