PHP get_meta_tags获取网页标题title 描述description 关键字keywords等meta信息
PHP内置的get_meta_tags函数可以用于获取网页的标题(title)、描述(description)、关键字(keywords)等meta信息
使用方法如下:
$meta_array = get_meta_tags('https://www.bnxb.com'); var_dump($meta_array);
输出
array(4) { ["viewport"]=> string(56) "width=device-width, initial-scale=1.0, maximum-scale=1.0" ["applicable-device"]=> string(9) "pc,mobile" ["description"]=> string(253) "笨牛网 - 笨牛小白成长之路(教程 资源 网站 前端 后端 程序 运维 IT OFFICE 站长),提供网站建设,服务器运维,源码,数据库,IT知识,办公软件WORD,excel,ppt,access,photoshop学习,各种免费空间,域名,VPS介绍等" ["keywords"]=> string(213) "笨牛网,笨牛小白之家,教程,资源,网站,前端,后端,程序,运维,OFFICE,站长,服务器维护,电脑知识,OFFICE办公软件,站长源代码,免费资源,免费域名,免费服务器,免费VPS推荐" }
get_meta_tags 默认是 utf-8 编码,如果遇到 gbk、gb2312编码,则会出现乱码,
例如,爬取www.qq.com,因为编码是 gb2312 所有出现了乱码:
$meta_array = get_meta_tags('http://www.qq.com'); var_dump($meta_array);
运行结果:
array (size=3) 'baidu-site-verification' => string 'cNitg6enc2' (length=10) 'keywords' => string '???,????,???,????,???,NBA,???,?????,???,QQ,Tencent' (length=56) 'description' => string '???????2003??????????????????????????????????????????????????????????????????????????????????????????????????????????????е?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????' (length=314)
解决乱码,这里介绍两个方法
方法1:加上 header 头编码,正确代码格式如下:
header("content-type:text/html; charset=gb2312"); $meta_array = get_meta_tags('http://www.qq.com'); var_dump($meta_array);
方法2:通用的编码解决方案,让你的浏览器自适应:
header("content-type:text/html; charset=xxx"); $meta_array = get_meta_tags('http://www.qq.com'); var_dump($meta_array);
注意:charset=xxx 表示让浏览器自动适配正确的网页编码,这样就不会造成显示乱码
顶(1)
踩(0)
- 最新评论