抓取方法


一、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);
最后修改:2023 年 01 月 15 日
如果觉得我的文章对你有用,请随意赞赏