通过URL抓取网页的TITLE,有些网站抓不到,方法愚笨,求指点。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了通过URL抓取网页的TITLE,有些网站抓不到,方法愚笨,求指点。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2276字,纯文字阅读大概需要4分钟。
内容图文
本帖最后由 u012716911 于 2013-11-04 11:25:29 编辑curl 抓取 标题
代码是我自己这样想着写的,不知道还有没有更好的方法。请各位给些指点有些网站可以抓到,如百度,有些网站就抓不到,比如太平洋汽车的首页。
public function set_title() { // 获取进来URL $url = $_POST['url']; // $url = "www.pcauto.com.cn"; 抓不到! //一连串的curl设置 $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_ENCODING,'gzip'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $content_source = curl_exec($ch); curl_close($ch); //获取抓到内容的编码格式 $encode = mb_detect_encoding($content_source, array('GB2312','GBK','UTF-8','ASCII')); //转码 $content_source = iconv($encode, 'utf-8//IGNORE',$content_source); //截取if(preg_match("/ (.*?)<\/title>/i",$content_source,$title)) { echo $title[1]; } else { echo '拉取标题失败'; } }
回复讨论(解决方案)
问题出在正则匹配那里,你加个 s 修正符就好了
if(preg_match("/
s 如果设定了此修正符,模式中的圆点元字符(.) 匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。
正则修饰符
问题出在正则匹配那里,你加个 s 修正符就好了
if(preg_match("/
s 如果设定了此修正符,模式中的圆点元字符(.) 匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。
非常感谢
PHP教程热搜
- php设置脚本最大执行时间的方法是什么
- php中$_SESSION获取不到值怎么办
- php 如何修改图片像素大小
- php date如何转换时间戳
- PHP如何替换数组中的指定元素
- php5ts.dll找不到怎么办
- php如何多个字符串一次替换
- php如何判断文件是不是图片
- php 给数组增加键值对
- php正则如何替换a标签
- php base64转换成图片的方法
- php如何去除回车
- 苹果系统安装php环境的方法详解
- php怎么实现数组随机且不重复
- php do while用法详解
- 教你用PHP开发微信公众号文章付费阅读功能
- php字符串太长怎么办
- php fbclient.dll 丢失怎么办
- php如何实现big5转utf8
- php如何增加字段
- php如何获取调用方法名
- 如何卸载源码安装的php
- php smtp发送邮件失败怎么办
- php如何把数字转成大写字母
- php如何实现下载并修改文件名称