phantomjs 解码url

以下为部分代码:

 var htmlnodeInfo=(allADUrlElements.snapshotItem(i).getAttribute("href").match(/\*\*(http[\S]*$)/)[1]).replace("**","");//   

htmlnodeInfo= UrlDecode(htmlDecode(htmlnodeInfo)); //调用下面的两个方法即可。
fs.write(inputcsvPath, htmlnodeInfo + "\r\n", 'a');

function UrlDecode(str){ 
var ret=""; 
for(var i=0;i<str.length;i++)
{ 
var chr = str.charAt(i); 
if(chr == "+")
{ 
ret+=" "; 
}
else if(chr=="%")
{ 
var asc = str.substring(i+1,i+3); 
if(parseInt("0x"+asc)>0x7f)
{ 
ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6))); 
i+=5; 
}
else
{ 
ret+=asc2str(parseInt("0x"+asc)); 
i+=2; 
} 
}
else
{ 
ret+= chr; 
} 
} 
return ret; 
} 
function htmlDecode(str) {
var div = document.createElement("div");
div.innerHTML = str;
return div.innerHTML;
}
function str2asc(str){ 
return str.charCodeAt(0).toString(16); 
} 
function asc2str(str){ 
return String.fromCharCode(str); 
}

  

posted @ 2016-04-19 16:42  公众号python学习开发  阅读(399)  评论(0编辑  收藏  举报