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 相关文章推荐
PHP HTML代码串截取代码
Dec 29 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
PHP编程中的__clone()方法使用详解
Nov 27 PHP
学习PHP的数组总结【经验】
May 05 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
PHP数据库操作二:memcache用法分析
Aug 16 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
Oct 25 PHP
Swoole源码中如何查询Websocket的连接问题详解
Aug 30 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 checkbox 取值详细说明
2010/08/19 PHP
php实现图片缩放功能类
2013/12/18 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
深入浅出php socket编程
2015/05/13 PHP
javascript forEach通用循环遍历方法
2010/10/11 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
一步步教你用Python实现2048小游戏
2017/01/19 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
python实现对变位词的判断方法
2020/04/05 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
室内设计实习自我鉴定
2013/09/25 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
银行开业庆典方案
2014/02/06 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
军人离婚协议书样本
2014/10/21 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
护士年终个人总结
2015/02/13 职场文书
pytorch 如何使用float64训练
2021/05/24 Python