PHP使用curl制作简易百度搜索


Posted in PHP onNovember 03, 2016

这几天研究了一下php中的curl类库,做了一个简单的百度搜索,先上代码

<div style="width:200px;height:100px;">
 <div>百度搜索</div>
 <form action="" method="get">
  <input type="text" name="key">
  <input type="submit" value="搜索">
 </form>
</div>
<?php
$k = '';
$k = !empty($_GET['key'])?$_GET['key']:'';
session_start();
$_SESSION['key'] = $k;

$curl = curl_init(); 
// 设置你需要抓取的URL 

for($i = 0;$i<2;$i++){
curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com/s?wd={$_SESSION['key']}&pn={$i}"); 
// 设置header 
curl_setopt($curl, CURLOPT_HEADER, 1); 
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
// 运行cURL,请求网页 
$data = curl_exec($curl); 

$pre = '/<h3 class="t"><a.*?href = "(.*?)".*?target="_blank".*?>(.*?)<\/a><\/h3>/s';
preg_match_all($pre,$data,$match);

foreach ($match[1] as $k => $v) {
?> 
<div style="font-size:20px;color:red;">
 <a href="<?php echo $v;?>" target="_blank"><?php echo strip_tags($match[2][$k]);?></a>
</div>
<?php
}
}

curl_close($curl);


?>

经过分析百度的搜索时的url发现有一个规律

https://www.baidu.com/s?wd=搜索的关键字

但是我发现使用https协议后不能够获得百度上的数据于是改为http://www.baidu.com?wd=搜索的关键字就可以啦!!

效果图如下:

PHP使用curl制作简易百度搜索

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP4实际应用经验篇(8)
Oct 09 PHP
php模板之Phpbean的目录结构
Jan 10 PHP
php设计模式小结
Feb 15 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
May 08 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
深入分析PHP引用(&amp;)
Sep 04 PHP
PHP微信支付实例解析
Jul 22 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
Fleaphp常见函数功能与用法示例
Nov 15 PHP
php获取linux命令结果的实例
Mar 13 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
php 防止表单重复提交两种实现方法
Nov 03 #PHP
PHP HTTP 认证实例详解
Nov 03 #PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 #PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
Nov 02 #PHP
php 使用redis锁限制并发访问类示例
Nov 02 #PHP
Android AsyncTack 异步任务实例详解
Nov 02 #PHP
php array_pop 删除数组最后一个元素实例
Nov 02 #PHP
You might like
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
window.open()弹出居中的窗口
2007/02/01 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
对python多线程与global变量详解
2018/11/09 Python
用python爬取租房网站信息的代码
2018/12/14 Python
python用for循环求和的方法总结
2019/07/08 Python
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
无房证明范本
2014/09/17 职场文书
酒店前台辞职书
2015/02/26 职场文书
十八大观后感
2015/06/12 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
初中体育课教学反思
2016/02/16 职场文书
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js