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 xml文件操作代码(一)
Mar 20 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
php实现生成验证码实例分享
Apr 10 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
thinkphp5修改view到根目录实例方法
Jul 02 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_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
Python实现的简单发送邮件脚本分享
2014/11/07 Python
python模拟鼠标拖动操作的方法
2015/03/11 Python
python实现矩阵乘法的方法
2015/06/28 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
python下载的库包存放路径
2020/07/27 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
Python中过滤字符串列表的方法
2020/12/22 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
super()与this()的区别
2016/01/17 面试题
献爱心捐款倡议书
2014/05/14 职场文书
雷人标语集锦
2014/06/19 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
房产电话营销开场白
2015/05/29 职场文书
小爸爸观后感
2015/06/15 职场文书
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL