php curl抓取网页指定内容(PHP建立CURL请求的基本步骤和基本操作步骤(组图) )

优采云 发布时间: 2021-10-29 07:04

  php 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 }

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线