使用curl方法爬别人网站的title内容,有个非常奇怪的现象 php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.baidu.com/ 是 utf-8 的http://www.qq.com/ 是 gbk 的,在 utf-8 环境中看不见中文是正常的 是转换 iconv($d[1][0]) 这样,还是 iconv($data) ? 那为什么有的编码是<meta charset="utf-8" />的网站 也是获取不到title 首先,你对 http://www.qq.com/ 看到 Array ( [0] => Array ( ) [1] => Array ( ) ) 这就表示 title 已经取到了。只不过因为你的浏览器的原因,看不见而已。你用 var_dump 就可看到,他并非空数组你的规则串是 /<title>(.*)<\/title>/s 并没有忽略大小写,如果 title 标记是大写的,你就取不到 var_dump($d);我这样写了..还是不行 ,array(2) { [0]=> array(0) { } [1]=> array(0) { } } 结果是这样的 抓取QQ内容的时候;可以1、把浏览器的编码设置为gbk;或者2、echo iconv('gbk','utf-8',$d[1][0]); header('Content-type: text/html;charset=GBK');$ch = curl_init();curl_setopt($ch,CURLOPT_URL,"http://www.qq.com/");curl_setopt($ch,CURLOPT_HEADER,true);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$data = curl_exec($ch); if($data === false){ echo "error!";}curl_close($ch); preg_match_all("/<title>(.*)<\/title>/s",$data,$d,PREG_PATTERN_ORDER);print_r($d);echo $d[1][0];Array( [0] => Array ( [0] => <title>腾讯首页</title> ) [1] => Array ( [0] => 腾讯首页 ))腾讯首页 把一个值赋给一个布尔型变量? php+smarty 为什么在IE下正常,在火狐+IE9下全是源代码???急! 在表单提交时需要做一次数据查询操作 着急,帮忙看看 求助php过滤非法字符的语句 php 中文登录的问题... php 调用system函数出现引号的错误 为什么有的分页代码能刷新,有的不能刷新? win8系统,php5.5不支持mysql php改json数据格式的问题 PHP总价格调用出数量 怎么 做 高手 帮忙下 100分 xampp php5.2 for mac在哪里下?
http://www.qq.com/ 是 gbk 的,在 utf-8 环境中看不见中文是正常的
array(2) { [0]=> array(0) { } [1]=> array(0) { } } 结果是这样的
1、把浏览器的编码设置为gbk;
或者
2、echo iconv('gbk','utf-8',$d[1][0]);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://www.qq.com/");
curl_setopt($ch,CURLOPT_HEADER,true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
if($data === false){
echo "error!";
}
curl_close($ch);
preg_match_all("/<title>(.*)<\/title>/s",$data,$d,PREG_PATTERN_ORDER);
print_r($d);
echo $d[1][0];Array
(
[0] => Array
(
[0] => <title>腾讯首页</title>
) [1] => Array
(
[0] => 腾讯首页
))
腾讯首页