当前位置: 首页 > 编程笔记 >

PHP中使用CURL获取页面title例子

施默
2023-03-14
本文向大家介绍PHP中使用CURL获取页面title例子,包括了PHP中使用CURL获取页面title例子的使用技巧和注意事项,需要的朋友参考一下

通过PHP获取页面title内容的实战演示:

范例代码:


<?php   

/*  

功能: 取得 URL 页面上的 <title> 内容   

  

参数:$_POST['url']  

*/   

   

// 设置最长执行的秒数   

ini_set ("expect.timeout", 30);   

set_time_limit(30);   

   

// 检查 URL   

if(!isset($_POST['url']) || $_POST['url'] == ''){    

   echo "URL 错误";   

   exit;   

}   

   

   

/* 取得 URL 页面数据 */   

// 初始化 CURL   

$ch = curl_init();   

   

// 设置 URL    

curl_setopt($ch, CURLOPT_URL, $_POST['url']);    

// 让 curl_exec() 获取的信息以数据流的形式返回,而不是直接输出。   

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);   

// 在发起连接前等待的时间,如果设置为0,则不等待   

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);   

// 设置 CURL 最长执行的秒数   

curl_setopt ($ch, CURLOPT_TIMEOUT, 30);   

   

// 尝试取得文件内容   

$store = curl_exec ($ch);   

   

   

// 检查文件是否正确取得   

if (curl_errno($ch)){   

   echo "无法取得 URL 数据";   

   //echo curl_error($ch);/*显示错误信息*/   

   exit;   

}   

   

// 关闭 CURL   

curl_close($ch);   

   

   

// 解析 HTML 的 <head> 区段   

preg_match("/<head.*>(.*)<\/head>/smUi",$store, $htmlHeaders);   

if(!count($htmlHeaders)){   

   echo "无法解析数据中的 <head> 区段";   

   exit;   

}       

      

// 取得 <head> 中 meta 设置的编码格式   

if(preg_match("/<meta[^>]*http-equiv[^>]*charset=(.*)(\"|')/Ui",$htmlHeaders[1], $results)){   

   $charset =  $results[1];   

}else{    

   $charset = "None";   

}   

   

// 取得 <title> 中的文字    

if(preg_match("/<title>(.*)<\/title>/Ui",$htmlHeaders[1], $htmlTitles)){   

   if(!count($htmlTitles)){   

       echo "无法解析 <title> 的内容";   

       exit;   

   }   

      

   // 将  <title> 的文字编码格式转成 UTF-8   

   if($charset == "None"){   

       $title=$htmlTitles[1];   

   }else{   

       $title=iconv($charset, "UTF-8", $htmlTitles[1]);   

   }   

   echo $title;   

}   

 类似资料:
  • 问题内容: 我正在使用CURL来获取网站的状态(如果它处于启动状态/关闭状态或重定向到另一个网站)。我想使其尽可能地精简,但是效果不佳。 我把它包装在一个函数中。它工作正常,但性能并不是最好的,因为它会下载整个页面,如果我删除它,它会一直返回。 有谁知道如何提高性能? 问题答案: 首先确保URL实际上是有效的(字符串,不是空,语法不错),这可以快速检查服务器端。例如,首先执行此操作可以节省大量时间

  • 本文向大家介绍PHP curl使用实例,包括了PHP curl使用实例的使用技巧和注意事项,需要的朋友参考一下 概述 本博客的前面两篇文章:curl和libcurl简介以及PHP中使用curl对PHP中curl的使用做了简单介绍,但是PHP中curl的使用却并不简单,尤其是curl的各种配置项,本篇文章会讲解几个PHP的实例,以便大家更好的理解curl。 实例:抓取页面 使用curl抓取页面相对来

  • 本文向大家介绍PHP中使用CURL模拟登录并获取数据实例,包括了PHP中使用CURL模拟登录并获取数据实例的使用技巧和注意事项,需要的朋友参考一下 cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于cURL信息。本文以模拟登录开源中国(oschina)为例,和

  • 问题内容: 如何不使用来获取html源代码? 我需要知道这一点,因为在某些虚拟主机上已禁用,因此您不能使用。是否可以使用cURL获取html文件的源(如果启用了cURL支持)?如果是这样,怎么办?谢谢。 问题答案: 请尝试以下操作: 我只推荐小文件使用。大文件将作为一个整体读取,并且可能会产生内存错误。 编辑:在评论中进行了一些讨论之后,我们发现问题是服务器无法解析主机名,并且该页面另外是http

  • 本文向大家介绍PHP curl实现抓取302跳转后页面的示例,包括了PHP curl实现抓取302跳转后页面的示例的使用技巧和注意事项,需要的朋友参考一下 PHP的CURL正常抓取页面程序如下: 如果你抓取到的是302状态,是因为再抓取的过程中,有的跳转需要给下一个链接传递参数,而下一个链接同时也设置了如果没接收到相应的参数是为非法访问。 显示就应该正常了。 上面用来抓取功能,几乎应该没问题的。你

  • 本文向大家介绍PHP cURL库函数抓取页面内容,包括了PHP cURL库函数抓取页面内容的使用技巧和注意事项,需要的朋友参考一下 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议和选项,如HTTP、FTP、TELNET等,能提供 URL 请求相关的各种细节信息。最爽的是,PHP 也支持 cURL 库。 本文将介绍 cURL 的一些高级特性,以及在 PHP 中如何运用它。 1