php curl抓取网页指定内容(PHP建立CURL请求的基本步骤和基本操作步骤(组图) )
优采云 发布时间: 2021-10-29 07:04php curl抓取网页指定内容(PHP建立CURL请求的基本步骤和基本操作步骤(组图)
)
CURL 可以使用 URL 语法来模拟浏览器传输数据。因为是模拟浏览器,所以还支持FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILE、LDAP等多种协议。很好的支持,包括一些:HTTPS认证、HTTP POST方式、HTTP PUT方式、FTP上传、keyberos认证、HTTP上传、代理服务器、cookies、用户名/密码认证、下载文件断点恢复、上传文件断点恢复上传、http代理服务器管道,甚至支持IPv6,scoket5代理服务器,通过http代理服务器上传文件到FTP服务器等等。
使用 PHP 的 cURL 库来简单有效地抓取网页。你只需要运行一个脚本,然后分析你抓取的网页,然后你就可以通过编程的方式得到你想要的数据。无论您是想从链接中获取部分数据,还是获取 XML 文件并将其导入数据库,即使只是获取网页内容,cURL 都是一个强大的 PHP 库。
1、PHP建立CURL请求的基本步骤
①:初始化
1 curl_init()
②:设置属性
1 curl_setopt().有一长串cURL参数可供设置,它们能指定URL请求的各个细节。
③:执行并得到结果
④:松开手柄
1 curl_close()
2、包装:
1 public function http_query($url, $get = null, $post = null)
2 {
3 if (isset($get)) {
4 if (substr_count($url, '?') > 0) {
5 $url .= "&" . http_build_query($get);
6 } else {
7 $url .= "?" . http_build_query($get);
8 }
9 }
10 // 初始化一个cURL会话
11 $ch = curl_init($url);
12 if (isset($post)) {
13 curl_setopt($ch, CURLOPT_POST, TRUE); #开启post
14 curl_setopt($ch, CURLOPT_POSTFIELDS, $post); #post数据
15 }
16 curl_setopt($ch, CURLOPT_HEADER, 0); #是否需要头部信息(否)
17 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); #如果成功只将结果返回,不自动输出任何内容。
18 curl_setopt($ch, CURLOPT_TIMEOUT, 5); #设置允许执行的最长秒数。
19 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); #在发起连接前等待的时间,如果设置为0,则无限等待。
20 //忽略证书
21 if (substr($url, 0, 5) == 'https') {
22 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
23 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
24 }
25 $curl_result = curl_exec($ch);
26 if ($curl_result) {
27 $data = $curl_result;
28 } else {
29 $data = curl_error($ch);
30 }
31 curl_close($ch); #关闭cURL会话
32 return $data;
33 }