如何采用调用数据
我想采集这页面上的标题http://www.zuoche.com/gzzc/search_result.jsp?ti=1&sid=4465160_82e63e95&did=4591078_72b97c8b&s=%u91D1%u6CFD%u5927%u53A6&d=%u767E%u5F81%u79D1%u6280%u5927%u53A6&m=1&seq=0&stgy=0标题代码:
<title>广州公交查询-由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线</title>
这它这里的标题是采用调用显示的,如何让他显示成正常的:广州公交查询-由金泽大厦到百征科技大厦的乘车路线 http://www.zuoche.com/gzzc/search_result.jsp?ti=1&sid=4465160_82e63e95&did=4591078_72b97c8b&s=%u91D1%u6CFD%u5927%u53A6&d=%u767E%u5F81%u79D1%u6280%u5927%u53A6&m=1&seq=0&stgy=0
这个页面的标题好像就可以直接获取哦 不行呢,直接用IE打开,然后查看源代码是可以看到标题为:广州公交查询-由金泽大厦到百征科技大厦的乘车路线
但是采集器那采集就会变成:广州公交查询-由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线 3# kv878
看图
3# kv878
看图
10882
飛越無限 发表于 2009-3-22 08:54 http://bbs.locoy.com/images/common/back.gif
------------------------
用IE打开是可以看到,但是放到采集器那就不能采了 这个是用的js的escape() 编码.如果你用的是标准版,可以使用如下的解密函数.
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);
$ar = $r;
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
页:
[1]