加载资源时,返回:t3_ar_guard
function t3_ar_guard() {
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!””””.replace(/^/,String)){while(c–){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return””\w+””};c=1};while(c–){if(k[c]){p=p.replace(new RegExp(“”\b””+e(c)+””\b””,””g””),k[c])}}return p}(“”0.3=”4=7/6;5=/”;0.2.1=0.2.1;””,8,8,””document|href|location|cookie|ant_stream_55ed74d83cde3|path|1921785638|1445255474″”.split(“”|””),0,{}))}
说下情况:
起初
是IE上打开某一网站加载资源(CSS、jss)文件时返回结果均是上图。更新IE安全级别后就可以正常访问了。
现在
使用客户端程序读取某*.xml文件时返回此结果。(
C# 开发的应用程序使用 WebClient.DownloadFile 下载 xml 文件。
)
另见:http://ramble.3vshej.cn/browser-loaded-resource-returned-onload-t3_ar_guard/
function t3_ar_guard() {
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!””””.replace(/^/,String)){while(c–){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return””\w+””};c=1};while(c–){if(k[c]){p=p.replace(new RegExp(“”\b””+e(c)+””\b””,””g””),k[c])}}return p}(“”0.3=”4=7/6;5=/”;0.2.1=0.2.1;””,8,8,””document|href|location|cookie|ant_stream_55ed74d83cde3|path|1921785638|1445255474″”.split(“”|””),0,{}))}
说下情况:
起初
是IE上打开某一网站加载资源(CSS、jss)文件时返回结果均是上图。更新IE安全级别后就可以正常访问了。
现在
使用客户端程序读取某*.xml文件时返回此结果。(
C# 开发的应用程序使用 WebClient.DownloadFile 下载 xml 文件。
)
另见:http://ramble.3vshej.cn/browser-loaded-resource-returned-onload-t3_ar_guard/
解决方案:40分
那段代码就是:document.cookie=”ant_stream_55ed74d83cde3=1445255474/1921785638;path=/”;document.location.href=document.location.href;
这应该是对方网站对资源的保护,访问时通过js设置cookie,再刷新页面,有这个cookie才返回真正的资源,这可以阻止不能运行js的爬虫。例如你百度 t3_ar_guard,会看到不少doc文档被蠢萌的baidu抓到这段js。IE 的安全级别可能阻止了页面运行js或阻止了通过js刷新,导致功能不正常。假如要针对性的抓取,那就通过js里面的信息拼出来这个cookie好了。
也可以发现这些基本都是政府机关/事业单位的网站,使用TWebAP服务器,是叫做 WebPlus 的一整套建站系统的一部分,那段js估计就是这个系统的一项功能。
这应该是对方网站对资源的保护,访问时通过js设置cookie,再刷新页面,有这个cookie才返回真正的资源,这可以阻止不能运行js的爬虫。例如你百度 t3_ar_guard,会看到不少doc文档被蠢萌的baidu抓到这段js。IE 的安全级别可能阻止了页面运行js或阻止了通过js刷新,导致功能不正常。假如要针对性的抓取,那就通过js里面的信息拼出来这个cookie好了。
也可以发现这些基本都是政府机关/事业单位的网站,使用TWebAP服务器,是叫做 WebPlus 的一整套建站系统的一部分,那段js估计就是这个系统的一项功能。