抓取方法
一、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);
此处评论已关闭