Loading... # 抓取方法 --- ## 一、PHP 函数 ### 1、`file()` 把整个文件读入一个数组中 | **参数** | **描述** | | ---------------- | ------------------------------------------------------------------------------- | | path | 必需。规定要读取的文件。 | | include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 | | context | 可选。规定文件句柄的环境。是一套可以修改流的行为的选项。若使用 null,则忽略。 | ```php //抓取的网址 $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 新加的。 | ```php //抓取的网址 $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 | 设置值 | ```php $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); ``` Last modification:January 15, 2023 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏