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怎样调用MSSQL的存储过程
Oct 09 PHP
PHP正确配置mysql(apache环境)
Aug 28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
WordPress中缩略图的使用以及相关技巧
Nov 24 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
Yii2 assets清除缓存的方法
May 16 PHP
cakephp常见知识点汇总
Feb 24 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 PHP
PHP goto语句用法实例
Aug 06 PHP
浅谈PHP中的那些魔术常量
Dec 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
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
DOM事件探秘篇
2017/02/15 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
Python如何调用JS文件中的函数
2019/08/16 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
C#和SQL Server的面试题
2016/08/12 面试题
工作犯错保证书
2015/05/11 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
宪法宣传标语100条
2019/10/15 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
Nginx报404错误的详细解决方法
2022/07/23 Servers