【PHP-网页内容抓取】抓取网页内容的两种常用方法
2017-04-24 15:01
495 查看
说到网页内容的抓取,最常用的两种方式:
1.利用file_get_contents()函数,简简单单;
2.CURL抓取工具。CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。curl尤其是在api接口调用过程中用处广泛。
下面现说file_get_contents()函数,不多说,实例说话。
<?php
$url = 'http://www.smartbc.cn/jfdz/download.php?P_ID=57';
$s = file_get_contents($url);
echo bin2hex(substr($s, 0, 20));//
//bin2hex函数把包含数据的二进制字符串转换为十六进制值
上面程序的意思就是抓取某一网址下的下载文件的二进制内容。
之后,开始说下curl的使用,步骤如下:
1.初始化连接句柄;2.设置CURL选项;3.执行并获取结果;4.释放VURL连接句柄。
curl_init() 和 curl_close() 分别是初始化CURL连接和关闭CURL连接,都比较简单。
curl_exec() 执行CURL请求
CURL函数库里最重要的函数是curl_setopt(),它可以通过设定CURL函数库定义的选项来定制HTTP请求。
上述代码片段中使用了三个重要的选项:
CURLOPT_URL 指定请求的URL;
CURLOPT_RETURNTRANSFER 设置为1表示稍后执行的curl_exec函数的返回是URL的返回字符串,而不是把返回字符串定向到标准输出并返回TRUE;
CURLLOPT_HEADER设置为0表示不返回HTTP头部信息。
1.利用file_get_contents()函数,简简单单;
2.CURL抓取工具。CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。curl尤其是在api接口调用过程中用处广泛。
下面现说file_get_contents()函数,不多说,实例说话。
<?php
$url = 'http://www.smartbc.cn/jfdz/download.php?P_ID=57';
$s = file_get_contents($url);
echo bin2hex(substr($s, 0, 20));//
//bin2hex函数把包含数据的二进制字符串转换为十六进制值
上面程序的意思就是抓取某一网址下的下载文件的二进制内容。
之后,开始说下curl的使用,步骤如下:
1.初始化连接句柄;2.设置CURL选项;3.执行并获取结果;4.释放VURL连接句柄。
curl_init() 和 curl_close() 分别是初始化CURL连接和关闭CURL连接,都比较简单。
curl_exec() 执行CURL请求
CURL函数库里最重要的函数是curl_setopt(),它可以通过设定CURL函数库定义的选项来定制HTTP请求。
上述代码片段中使用了三个重要的选项:
CURLOPT_URL 指定请求的URL;
CURLOPT_RETURNTRANSFER 设置为1表示稍后执行的curl_exec函数的返回是URL的返回字符串,而不是把返回字符串定向到标准输出并返回TRUE;
CURLLOPT_HEADER设置为0表示不返回HTTP头部信息。
function http_curl($url,$type ='get', $res = 'json',$arr= '') {//curl 获取工具 // 1.初始化curl $ch = curl_init(); // 2.设置curl的参数 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($ch,CURLOPT_HEADER,0); if ($type =='post') { //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); //curl_setopt($ch,CURLOPT_URL,1); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$arr); } // 3.采集 $output = curl_exec($ch); // 4.关闭 curl_close($ch); if($res == 'json'){ // var_dump($output); //echo curl_errno($ch); if (curl_errno($ch)) { //请求失败,返回错误信息 return curl_error($ch); } else { // 请求成功,返回json数组 //echo "json"; return json_decode($output,true); } } }//上面这段代码是小编再进行微信公众平台开发时候,写的一个抓取函数,大家可以根据自己的需求进行修改。
相关文章推荐
- 几种常用的用php抓取网页中的内容的方法
- 【转】用php抓取网页内容方法总结
- php抓取网页内容的方法
- 用php抓取网页内容方法总结
- PHP抓取网页内容的方法(转载)
- 用php抓取网页内容方法总结
- PHP抓取网页、解析HTML常用的方法总结
- 分享:用php抓取网页内容方法总结
- PHP抓取网页内容的方法
- php抓取网页内容方法分析
- PHP抓取网页、解析HTML常用的方法总结
- PHP抓取网页内容的方法
- php抓取网页内容的方法
- php获得网页源代码抓取网页内容的几种方法
- php 模拟用户抓取网页内容程序
- 忆龙2009:介绍两种获取网页内容的方法
- 使用PHP简单网页抓取和内容分析
- php网页分析 内容抓取 爬虫 文件分析
- php抓取网页内容汇总
- php获取网页内容方法总结