扫码关注官方订阅号
如何用PHP抓取當前網頁的標題?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
// 当前页面,但是别人家的我大js貌似搞不了,如果有人会麻烦教教我 document.write(document.title);
// 全国通用测网是否联通 $url = 'http://www.baidu.com'; // 你要什么标签 $tag = 'title'; // CURL 方式 $ch = curl_init(); // 设置选项 curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_RETURNTRANSFER => true, ]); $data = curl_exec($ch); // 关闭此次连接 curl_close($ch); // 匹配下你要的标签 preg_match('/<'.$tag.'.*>\s*(.*)\s*<\/'.$tag.'>/',$data,$str); var_dump($str[1]);
额,竟然你要获取自己的内容啊...
<?php ob_start(function($buffer){ preg_match('/<title.*>\s*(.*)\s*<\/title>/',$buffer,$str); return $str[1]; }); ?> <!DOCTYPE html> <html> <head> <title>我是一个title</title> </head> <body> </body> </html> <?php ob_end_flush();
http头信息里面不包含title的,所以直接从请求里面是抓不到的。
解决方法一:先在页面用js获取title再当请求参数传过来。
解决方法二:根据请求的HTTP_REFERER,自己再用curl抓一遍页面,处理一下字符串,截取<title>和</title>之间的内容。
哈哈哈,希望对你有帮助
composer包
"symfony/css-selector": "3.1.*", "symfony/dom-crawler": "3.1.*", "guzzlehttp/guzzle": "6.2.*"
php代码
$url = "http://bosonnlp.com/account/login"; $body = (new \GuzzleHttp\Client)->get($url)->getBody()->getContents(); $title = (new \Symfony\Component\DomCrawler\Crawler($body))->filter('title')->text(); var_dump($title);
参考: 如何用php获取某个页面中的input的csrf_token?- 娃娃脾气的回答
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
javascript
php
额,竟然你要获取自己的内容啊...
http头信息里面不包含title的,所以直接从请求里面是抓不到的。
解决方法一:先在页面用js获取title再当请求参数传过来。
解决方法二:根据请求的HTTP_REFERER,自己再用curl抓一遍页面,处理一下字符串,截取<title>和</title>之间的内容。
哈哈哈,希望对你有帮助
composer包
php代码
参考: 如何用php获取某个页面中的input的csrf_token?- 娃娃脾气的回答