Jsoup - 如何绕过一些产生AJAX请求并使用Cookie的JavaScript?

时间:2016-02-09 12:22:24

标签: android jsoup

我一直在使用Jsoup来解析这个site,并且它在引入“加载器”之前工作得很好,所以现在我得到了这个答案:

<html>
   <head>
      <style>.loader-walk{width: 100px; height: 40px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}.loader-walk > div{content: ""; width: 20px; height: 20px; background: #2196F3; border-radius: 100%; position: absolute; -webkit-animation: animate 2s linear infinite; animation: animate 2s linear infinite;}.loader-walk > div:nth-of-type(1){-webkit-animation-delay: -.4s; animation-delay: -.4s;}.loader-walk > div:nth-of-type(2){-webkit-animation-delay: -.8s; animation-delay: -.8s;}.loader-walk > div:nth-of-type(3){-webkit-animation-delay: -1.2s; animation-delay: -1.2s;}.loader-walk > div:nth-of-type(4){-webkit-animation-delay: -1.6s; animation-delay: -1.6s;}@-webkit-keyframes animate{0%{left: 100px; top: 0;}80%{left: 0; top: 0;}85%{left: 0; top: -20px; width: 20px; height: 20px;}90%{width: 40px; height: 15px;}95%{left: 100px; top: -20px; width: 20px; height: 20px;}100%{left: 100px; top: 0;}}@keyframes animate{0%{left: 100px; top: 0;}80%{left: 0; top: 0;}85%{left: 0; top: -20px; width: 20px; height: 20px;}90%{width: 40px; height: 15px;}95%{left: 100px; top: -20px; width: 20px; height: 20px;}100%{left: 100px; top: 0;}}</style>
      <title>Loading</title>
   </head>
   <body>
      <script type="text/javascript" src="/aes.min.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("a0623cecb54e0306f536ee8964960ca0"),b=toNumbers("d4e9cfdbae6dc103d3b28027ee549f5a"),c=toNumbers("dababf3e77151157fd19e2165cb9e367");document.cookie="BPC="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";document.location.href="http://curaj.tv/";</script>
      <div class="loader-walk">
         <div></div>
         <div></div>
         <div></div>
         <div></div>
         <div></div>
      </div>
   </body>
</html>

我已经玩了几个星期了,无法越过这堵墙。

我可以在后台webView中加载页面并从那里解析它,但不是那样。

那么如何通过这个“动画”屏幕?

P.S。我是Jsoup的新手,所以请不要讨厌。

1 个答案:

答案 0 :(得分:0)

JonasCz提供的有趣提示:

  

在桌面浏览器中加载页面,打开开发人员工具的网络选项卡,查看它的加载内容以及从哪里加载一些JSON或其他东西。然后,只需要与您的代码匹配相同的URL,获取它返回的数据,并找出如何处理它。 ,你也可以查看他们的脚本,也许你可以反转enfpgineer并弄清楚它是如何工作的。 @Zack,WebView对于这类事情来说非常慢,并且在后台使用时效果不佳。

     

您可能还必须从页面中提取一些数据 - 在第二个脚本标记中有一些数据,您可能需要将这些数据发送到服务器得到你想要的。用正则表达式或其他东西提取它。从本质上讲,您必须模拟JavaScript在代码中的作用。