今天公司QA老大让写个程序用js动态抓取一个网站的内容,由于需求不明,治好把整个网站的html代码用ajax抓下来,在网上搜了下,还真有这样的代码,但是那网站使用的是相对路径,只好写了个正则表达式给他把网址补上去,成为绝对路径,整个页面才显示正常,代码如下,以备后观
Code 1 <script language="vbscript"> 2 Function bytes2BSTR(vIn) 3 Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode 4 strReturn="" 5 For i=1 To LenB(vIn) 6 ThisCharCode=AscB(MidB(vIn,i,1)) 7 If ThisCharCode<&H80 Then 8 strReturn=strReturn&Chr(ThisCharCode) 9 Else 10 NextCharCode =AscB(MidB(vIn,i+1,1)) 11 strReturn=strReturn&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode)) 12 i=i+1 13 End If 14 Next 15 bytes2BSTR=strReturn 16 End Function 17 </script> 18 <script language="javascript"> 19 function Checkstyle(htmlcode)20 {21 var s;22 var RexStr = /Include\/|images\//gi 23 s =htmlcode.replace(RexStr, 24 function(MatchStr){ 25 switch(MatchStr){ 26 case "Include/": 27 case "include/": 28 return "http://getalife.com.au/Include/"; 29 break; 30 case "images/": 31 return "http://getalife.com.au/images/"; 32 break; 33 default : 34 break; 35 } 36 } 37 ) 38 39 return s;40 } 41 var xmlhttp=new ActiveXObject("Msxml2.xmlhttp") 42 xmlhttp.open("GET","http://getalife.com.au/listactivities.aspx?siteref=homepage",false) 43 xmlhttp.send()44 var m=Checkstyle(bytes2BSTR(xmlhttp.ResponseBody));45 document.write(m); 46 //document.write(bytes2BSTR(xmlhttp.ResponseBody));47 </script>
转载于:https://www.cnblogs.com/happyskycn/archive/2008/11/25/1340941.html
