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 相关文章推荐
如何实现给定日期的若干天以后的日期
Oct 09 PHP
小偷PHP+Html+缓存
Nov 25 PHP
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
用mysql触发器自动更新memcache的实现代码
Oct 11 PHP
纯php打造的tab选项卡效果代码(不用js)
Dec 29 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
php自定义的格式化时间示例代码
Dec 05 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
php开启openssl的方法
May 15 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 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
mysql时区问题
2008/03/26 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
深入理解vue中的$set
2017/06/01 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
python看某个模块的版本方法
2018/10/16 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Keras loss函数剖析
2020/07/06 Python
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
班级聚会策划书
2014/01/16 职场文书
先进个人事迹材料
2014/01/25 职场文书
护士自我评价范文
2014/01/25 职场文书
解除合同协议书
2014/04/17 职场文书
优质服务活动实施方案
2014/05/02 职场文书
社区娱乐活动方案
2014/08/21 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
成人成长感言如何写?
2019/08/16 职场文书