PHP中CURL应用与基于的修改Google实现

本文介绍了PHP中CURL库的应用,重点讲解如何利用CURL进行网页抓取,通过实例展示了如何编写脚本抓取Google的host信息。关键在于理解和运用curl_setopt()函数来设置CURL请求的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

能做什么

PHP中的curl库最基本的用途就是去简单有效地*抓取网页的内容*,然后利用抓取到的网页数据经程序的方式进行处理和分析,最终得到你所想要的数据。当然了,这是最基本的用法,还有其他复杂有趣的用途,这取决于你的curl_setopt()行数的设置

怎么用

首先,你的PHP中必须安装有curl的扩展插件,即phpinfo中有如下显示

![这里写图片描述](https://img-blog.youkuaiyun.com/20150309200749680)

然后就可以开始使用了,具体步骤:

 1.用curl_init()初始化一个curl会话
 2.通过curl_setopt()来设置需要的全部选项
 3.用curl_exec()来执行会话
 4.执行完后使用curl_close()关闭会话

ps:curl_setopt()是curl使用的关键,很多复杂的用法都是基于此

一个简单的例子

<?php
//初始化一个curl对象
$curl=curl_init("http://www.baidu.com");

//将抓取的数据已文本的形式保存
$fp=fopen("test.txt");

//设置curl_setopt()参数
curl_setopt($ch,CURLOPT_FILE,$fp);
curl_setopt($ch,CURLOPT_HEADER,0);

//执行curl_exec();
curl_exec($ch);

//关闭curl会话
curl_exec($ch);
curl_close($ch);
fclose($fp);

以上例子来自官方文档

利用CURL实现抓取GOOGLE的host脚本

<?php
//初始化curl对话
$curl=curl_init();

//设置curl_setopt
curl_setopt($curl, CURLOPT_URL, 'http://www.360kb.com/kb/2_122.html');
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

//执行curl
$data=curl_exec($curl);

//关闭curl资源
curl_close($curl);


//清楚HTML标签
$data=strip_tags($data);
//处理的读入数据
$data=substr($data, strpos($data, '#google hosts'));
$data=substr($data,0,strpos($data, '#google hosts 2015 end'));
$data=str_replace('&nbsp;', '  ', $data);

//写入host
$host=file_get_contents("C:\\Windows\\System32\\drivers\\etc\\HOSTS");
$host=substr($host,0,strpos($host, '#google hosts'));
$host.=$data;
$fh=fopen("C:\\Windows\\System32\\drivers\\etc\\HOSTS", 'w');
fwrite(fopen("C:\\Windows\\System32\\drivers\\etc\\HOSTS", 'w'), $host);
fclose($fh);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值