从页面中提取信息与Jsoup(Extracting information from page wi

2019-10-19 07:27发布

我试图从提取信息, 在这里与Jsoup库。 不能抢JS元素之后的信息。
我看这个网页与Opera蜻蜓在每个TD元素上。 这里是结果:

<td class="t_port">
      <script type="text/javascript">
      //<![CDATA[
        document.write(Socks^GrubMe^51959);
      //]]>
      </script>
     "1080
                "
    </td>

当我的任何浏览器中使用视图代码函数,他返回我的代码,但没有“1080”同样的思路 - 什么我要找的信息。 当我试图抓住与Jsoup此页面相同的结果I'l服用。 js代码是多少或多或少相似。 喜欢:

document.write(SmallBlind^NineBeforeZero^64881);

要么

document.write(ProxyMoxy^DexterProxy^29182);

或类似的东西

 document.write(Defender^Agile^57721);


了解这项服务的政策,我想这是什么JS代码块这个必要的信息并加载它动态地后,通过编辑DOM附加加入“1080”类型的信息。 任何建议抓住这个信息?

PS:这里是我的代码:

Document doc = Jsoup.connect(socks4URL).post();
    Elements ips = doc.select("table.proxytbl td.t_ip");
    for (Element e : ips) {
        System.out.println("e is " + e.text());
    }
    Elements ports = doc.select("table.proxytbl td.t_port");
    for (Element e : ports) {
        System.out.println("port is " + e);
    }

Answer 1:

第一

我想该网站使用这种技术正是劝阻你这样的人凑他们的信息。 说了这么多,我只是假设你明白这一点而放弃。

第二

此方不加载通过AJAX的端口信息。 它只是定义的脚本标记一些全局变量和使用按位异或运算符 (^)来计算的端口号。 为了理解正在发生的事情,你需要了解的XOR运算,发现在源加载内嵌的小脚本(提示:使用id =“incontent”的DIV中script标签)。 下面是我得到了什么,但是这可能是一个动态生成的脚本,所以它可能从不同的呼叫呼叫:

<script type="text/javascript">
//<![CDATA[
  BigProxy = 13097;BigGoodProxy = 42249^BigProxy;GrubMe = BigGoodProxy^BigProxy;Defender = 16593^BigGoodProxy;Polymorth = 32164^60129;Xorg = Defender^BigProxy;DexterProxy = Defender^Defender;SmallBlind = 56306^22478;Agile = 7797^61126;Socks = BigProxy^SmallBlind;DontGrubMe = BigProxy^45134;Xinemara = 64225^38807;HttpSocks = Socks^BigGoodProxy;BigBlind = GrubMe^41530;NineBeforeZero = 8868^38743;SmallProxy = HttpSocks^Socks;ProxyMoxy = Polymorth^41915;
//]]>
</script>

现在,您可以分析数据,并重新创建具有相同值的变量。 只是解析端口字段和解释小XOR运算。 例如:

document.write(SmallBlind^BigProxy^47917);

根据上面的脚本SmallBlind = 35900和BigProxy = 13097(后评价!)

所以演算是35900 ^ 13097 ^ 47917 = 1080

第三

只要订阅该送你准备使用socks代理列表,如果你需要他们如此糟糕的众多服务之一:)



文章来源: Extracting information from page with Jsoup