【发布时间】:2021-10-22 14:24:14
【问题描述】:
我正在制作一个 android 应用程序,它会抓取某个网站内容并将其放入列表中。最近,我在 Document(JScoup 类)突然不包含某些元素的地方出现了一个错误。我打印了整个文档,这就是我得到的:
<html>
<head>
<script type="text/javascript"><!--
function leastFactor(n) {
if (isNaN(n) || !isFinite(n)) return NaN;
if (typeof phantom !== 'undefined') return 'phantom';
if (typeof module !== 'undefined' && module.exports) return 'node';
if (n==0) return 0;
if (n%1 || n*n<2) return 1;
if (n%2==0) return 2;
if (n%3==0) return 3;
if (n%5==0) return 5;
var m=Math.sqrt(n);
for (var i=7;i<=m;i+=30) {
if (n%i==0) return i;
if (n%(i+4)==0) return i+4;
if (n%(i+6)==0) return i+6;
if (n%(i+10)==0) return i+10;
if (n%(i+12)==0) return i+12;
if (n%(i+16)==0) return i+16;
if (n%(i+22)==0) return i+22;
if (n%(i+24)==0) return i+24;
}
return n;
}
function go() {
var p=2456313912482; var s=1782578125; var n;
if ((s >> 3) & 1)/* 120886108*
*/p+=293087928*/* 120886108*
*/4;/*
*13;
*/else
p-=/* 120886108*
*/202819457*/*
*13;
*/4;/*
*13;
*/if ((s >> 1) & 1)
p+=296193202*/*
else p-=
*/2;/*
else p-=
*/else /* 120886108*
*/p-=812964012*2;/*
p+= */if ((s >> 0) & 1) p+=/*
p+= */548319846* 3;/*
p+= */else /*
p+= */p-=/*
*13;
*/1210867650*
1;/* 120886108*
*/if ((s >> 8) & 1) p+=
151523417* 11;
else /*
*13;
*/p-= 212850085* 9;/* 120886108*
*/if ((s >> 4) & 1) p+=/*
else p-=
*/81741529*
7;/*
*13;
*/else /*
*13;
*/p-=/*
p+= */18587493*
5;/*
else p-=
*/ p-=4349934143;
n=leastFactor(p);
{ document.cookie="duplexdataiad="+n+"*"+p/n+":"+s+":2100623372:1;path=/;";
document.location.reload(true); }
}
//--></script>
</head>
<body onload="go()">
Loading...
</body>
显然,<body> 在 JSoup 抓取它时仍在加载。奇怪的是,它只偶尔发生,而且当它发生时,它只发生在我身上,而且只发生在我的互联网连接上(以太网、wifi,都不起作用),但只要我打开手机上的移动数据,我尝试测试应用程序,它突然完美运行。我的朋友也在和我一起开发这个应用程序,他曾经有过一次这个问题,但在那之后就再也没有了。有谁知道如何解决这个问题?
【问题讨论】:
标签: java android web-scraping jsoup