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-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
php中{}大括号是什么意思
Dec 01 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
PHP防盗链代码实例
Aug 27 PHP
php使用fputcsv()函数csv文件读写数据的方法
Jan 06 PHP
php使用正则验证中文
Apr 06 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
laravel 解决crontab不执行的问题
Oct 22 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
php生成word并下载代码实例
2019/03/15 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
javascript json2 使用方法
2010/03/16 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
原生JS实现pc端轮播图效果
2020/12/21 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
举例介绍Python中的25个隐藏特性
2015/03/30 Python
给Python初学者的一些编程技巧
2015/04/03 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Django的Modelforms用法简介
2019/07/27 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
python 读取数据库并绘图的实例
2019/12/03 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
意大利男装网店:Vrients
2019/05/02 全球购物
工地标语大全
2014/06/18 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书