抓取方法
一、PHP 函数
1、file() 把整个文件读入一个数组中
| 参数 | 描述 |
|---|---|
| path | 必需。规定要读取的文件。 |
| include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 |
| context | 可选。规定文件句柄的环境。是一套可以修改流的行为的选项。若使用 null,则忽略。 |
//抓取的网址
$url = 'http://www.budejie.com';
//将读取内容存在数组中
$arr = file($url);
print_r($arr);2、file_get_contents() 把整个文件读入一个字符串中
| 参数 | 描述 |
|---|---|
| path | 必需。规定要读取的文件。 |
| include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 |
| context | 可选。规定文件句柄的环境。是一套可以修改流的行为的选项。若使用 null,则忽略。 |
| start | 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。 |
| max_length | 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。 |
//抓取的网址
$url = 'http://mstatic.spriteapp.cn/xx/1/w3/css/index.css';
//将读取内容存在字符串中
$arr = file_get_contents($url);
echo $arr;上面的数据获取,显然不是我们需要的,如果只是这样,不如我们自己打开网站,把数据复制下来
我们需要的是全自动,通过参数(类型、翻页)变换,抓取不同的数据
二、PHP libcurl 库
- curl 就是 php 中的数据传输神器
- libcurl 目前支持 http、https、ftp、gopher、telnet,等等...
- curl 实现 Get 和 Post 请求的方法
| 常用函数 | 描述 |
|---|---|
| curl_init() | 初始化 cURL 会话 |
| curl_setopt() | 设置 cURL 传输选项 |
| curl_exec() | 执行 cURL 会话 |
| curl_errno() | 返回最后一次的错误代码 |
| curl_error() | 错误信息 |
| curl_close() | 关闭 cURL 会话 |
| curl_setopt 参数 | 描述 |
|---|---|
| ch | 由 curl_init() 返回的 cURL 句柄 |
| option | 需要设置的 CURLOPT_XXX 选项。(curl 的关键部分,看下面示例) |
| value | 设置值 |
$url = 'http://www.budejie.com';
$ch = curl_init(); // 创建一个新cURL资源
curl_setopt($ch, CURLOPT_URL, $url); // 设置URL
$html = curl_exec($ch); // 运行cURL,请求URL,把结果复制给变量
if(curl_errno($ch)){
echo 'Errno'.curl_error($curl); //捕抓异常
}
curl_close($ch); // 关闭cURL连接
print_r($html);
此处评论已关闭