xzqpy

解决思路

1.找到JS代码

2.在python重写逻辑,或者python调用js执行的模块拿到结果

看看在哪里调用了这个js逻辑

点击方法名 进入

发现调用了新的函数

再次查看visit的调用函数,找到参数的生成方式为

 onclick="visit(\\'\' + autourl[b] + \'\\')"  

发现新的函数

function auto(b) {
    t = (tim - ts[b]) / 100;
    tt = t.toString().split(\'.\');
    if(tt.length==1) t = t.toString() + \'.00\';
    else if(tt[1].length < 2)  t = t.toString() + \'0\';
    if (t > 4) document.getElementById("txt" + b).innerHTML = \'<font color=red>连接超时!<\/font>\';
    else document.getElementById("txt" + b).innerHTML = \'takes \' + t + \'s.   <a href="javascript:;" class="ok" onclick="visit(\\'\' + autourl[b] + \'\\')"> 现在访问 <\/a>\'
}

发现经常会需要用到Gword 我们可以解析拿到这个数据

 

好开始刚

我们拿到了Gword

 这个地方有2个解决方案了

  • 1是用Python重写编写相关逻辑
  • 2通过Python调用JS直接实现

我们把需要用到的js代码复制到一个文件里面

 

 

通过Python 执行JS库 execjs

execjs可以在python中运行javascript代码

官网:https://pypi.org/project/PyExecJS/

安装:pip install PyExecJS

可以切换清华源

安装成功之后在pycharm中引入一下,不出错误,表示运行成功

我们对JS进行编译

import execjs
with open(\'scmor.js\', \'r\', encoding=\'utf-8\') as f:
    js = f.read()
    ctx = execjs.compile(js)  # 对JS进行编译
print(ctx.call(\'visit\',\'QSQ7XggEHBUhXDxYLwIFHwh4ZRkwXFI0Pw4jGj5ZXlI=\'))  #给visit 进行传递参数 拿到我们的url 

 

分类:

技术点:

相关文章:

  • 2021-04-01
  • 2021-10-27
  • 2022-01-13
  • 2021-04-14
  • 2021-12-01
  • 2021-07-11
  • 2022-03-02
  • 2022-12-23
猜你喜欢
  • 2021-11-05
  • 2021-10-18
  • 2021-04-18
  • 2022-12-23
  • 2021-07-07
  • 2021-11-21
  • 2021-05-07
相关资源
相似解决方案