抓取到的网站页面,对方有个js加密+定时跳转,如何解决?

 <!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
  <meta name="robots" content="noindex, nofollow" />
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
  <title>Just a moment...</title>
  <style type="text/css">
    html, body {width: 100%; height: 100%; margin: 0; padding: 0;}
    body {background-color: #ffffff; font-family: Helvetica, Arial, sans-serif; font-size: 100%;}
    h1 {font-size: 1.5em; color: #404040; text-align: center;}
    p {font-size: 1em; color: #404040; text-align: center; margin: 10px 0 0 0;}
    #spinner {margin: 0 auto 30px auto; display: block;}
    .attribution {margin-top: 20px;}
    @-webkit-keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } }
    @keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } }
    .bubbles { background-color: #404040; width:15px; height: 15px; margin:2px; border-radius:100%; -webkit-animation:bubbles 0.6s 0.07s infinite ease-in-out; animation:bubbles 0.6s 0.07s infinite ease-in-out; -webkit-animation-fill-mode:both; animation-fill-mode:both; display:inline-block; }
  </style>

    <script type="text/javascript">
  //<![CDATA[
  (function(){
    var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
    b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)};
    b(function(){
      var a = document.getElementById('cf-content');a.style.display = 'block';
      setTimeout(function(){
        var s,t,o,p,b,r,e,a,k,i,n,g,f, iFhpHCE={"rkBBjKVIpmV":!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]};
        t = document.createElement('div');
        t.innerHTML="<a href='/'>x</a>";
        t = t.firstChild.href;r = t.match(/https?:\/\//)[0];
        t = t.substr(r.length); t = t.substr(0,t.length-1);
        a = document.getElementById('jschl-answer');
        f = document.getElementById('challenge-form');
        ;iFhpHCE.rkBBjKVIpmV+=+((!+[]+!![]+!![]+!![]+[])+(+!![]));iFhpHCE.rkBBjKVIpmV+=+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));iFhpHCE.rkBBjKVIpmV-=+!![];iFhpHCE.rkBBjKVIpmV-=+((+!![]+[])+(!+[]+!![]));iFhpHCE.rkBBjKVIpmV-=!+[]+!![]+!![]+!![];iFhpHCE.rkBBjKVIpmV+=+((!+[]+!![]+!![]+!![]+[])+(!+[]+!![]));iFhpHCE.rkBBjKVIpmV+=+((!+[]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]));iFhpHCE.rkBBjKVIpmV-=+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]));iFhpHCE.rkBBjKVIpmV-=+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]));iFhpHCE.rkBBjKVIpmV*=+((+!![]+[])+(+[]));a.value = parseInt(iFhpHCE.rkBBjKVIpmV, 10) + t.length; '; 121'
        f.submit();
      }, 4000);
    }, false);
  })();
  //]]>
</script>


</head>
<body>
  <table width="100%" height="100%" cellpadding="20">
    <tr>
      <td align="center" valign="middle">
          <div class="cf-browser-verification cf-im-under-attack">
  <noscript><h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1></noscript>
  <div id="cf-content" style="display:none">
    <div>
      <div class="bubbles"></div>
      <div class="bubbles"></div>
      <div class="bubbles"></div>
    </div>
    <h1><span data-translate="checking_browser">Checking your browser before accessing</span> knlotto.kr.</h1>
    <p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
    <p data-translate="allow_5_secs">Please allow up to 5 seconds&hellip;</p>
  </div>
  <form id="challenge-form" action="/cdn-cgi/l/chk_jschl" method="get">
    <input type="hidden" name="jschl_vc" value="48d072e0d71ade632aace23e347185db"/>
    <input type="hidden" name="pass" value="1484395376.543-eFdBKA6qvF"/>
    <input type="hidden" id="jschl-answer" name="jschl_answer"/>
  </form>
</div>


          <div class="attribution">
            <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=iuam" target="_blank" style="font-size: 12px;">DDoS protection by CloudFlare</a>
            <br>
            Ray ID: 3210f106637a33bb
          </div>
      </td>
    </tr>
  </table>
</body>
</html>

就是怪异的计算而已,对象转换之类的,自己log下对应的值就知道是什么了,然后按照js算法自己服务器端写一遍

参考
+/-一元运算符计算空字符结果为0分析
javascript计算不同数据类型如何转换

          var s, t, o, p, b, r, e, a, k, i, n, g, f, iFhpHCE = { "rkBBjKVIpmV": !+[] + !![] + !![] + !![] + !![] + !![] + !![] + !![] + !![] };
          console.log(!+[] + !![] + !![] + !![] + !![] + !![] + !![] + !![] + !![])// 9
        //t = document.createElement('div');
       // t.innerHTML="<a href='/'>x</a>";
       // t = t.firstChild.href;r = t.match(/https?:\/\//)[0];
       // t = t.substr(r.length); t = t.substr(0,t.length-1);
       // a = document.getElementById('jschl-answer');
      //  f = document.getElementById('challenge-form');
          ; iFhpHCE.rkBBjKVIpmV += +((!+[] + !![] + !![] + !![] + []) + (+!![]));
          console.log(+((!+[] + !![] + !![] + !![] + []) + (+!![])))// 41
          iFhpHCE.rkBBjKVIpmV += +((+!![] + []) + (!+[] + !![] + !![] + !![] + !![] + !![] + !![] + !![]));
          console.log(+((+!![] + []) + (!+[] + !![] + !![] + !![] + !![] + !![] + !![] + !![])))// 18
          iFhpHCE.rkBBjKVIpmV -= +!![];
          console.log(+!![])// 1
          iFhpHCE.rkBBjKVIpmV -= +((+!![] + []) + (!+[] + !![]));
          console.log(+((+!![] + []) + (!+[] + !![])))//  12
          iFhpHCE.rkBBjKVIpmV -= !+[] + !![] + !![] + !![];
          console.log(!+[] + !![] + !![] + !![])//4
          iFhpHCE.rkBBjKVIpmV += +((!+[] + !![] + !![] + !![] + []) + (!+[] + !![]));
          console.log(+((!+[] + !![] + !![] + !![] + []) + (!+[] + !![])))//42
          iFhpHCE.rkBBjKVIpmV += +((!+[] + !![] + !![] + !![] + []) + (!+[] + !![] + !![] + !![] + !![] + !![]));
          console.log(+((!+[] + !![] + !![] + !![] + []) + (!+[] + !![] + !![] + !![] + !![] + !![])))//46
          iFhpHCE.rkBBjKVIpmV -= +((!+[] + !![] + !![] + []) + (!+[] + !![] + !![]));
          console.log(+((!+[] + !![] + !![] + []) + (!+[] + !![] + !![])))//33
          iFhpHCE.rkBBjKVIpmV -= +((!+[] + !![] + !![] + []) + (!+[] + !![] + !![] + !![] + !![] + !![] + !![]));
          console.log(+((!+[] + !![] + !![] + []) + (!+[] + !![] + !![] + !![] + !![] + !![] + !![])))//37
          iFhpHCE.rkBBjKVIpmV *= +((+!![] + []) + (+[]));
          console.log(+((+!![] + []) + (+[])))//10
          a.value = parseInt(iFhpHCE.rkBBjKVIpmV, 10) + t.length; '; 121'