在 Android 上为 Python 翻译 JS

Translate JS for Python on Android

我尝试仅使用 python 和 bs4 从 "dlbutton" 获取 javascript 生成的 href。我不能使用繁重的 javascript 解析器,因为我在 Android 上。

<script type="text/javascript">
    var n = 2;
    var b = 413132;
    document.getElementById('dlbutton').href = "/n/abc/"+(n + n * 2 + b)+"3/6775808test.txt";
    }
</script>

有什么想法可以实现吗?

在python我喜欢处理这个

n = 2;
b = 413132;

test = "/n/abc/"+str(n + n * 2 + b)+"3/6775808test.txt";

print test
#output /n/abc/4131383/6775808test.txt

一旦你有了使用 bs4 的脚本标签,你就可以使用正则表达式,然后 exec/eval 代码:

import re


h = """<script type="text/javascript">
    var n = 2;
    var b = 413132;
    document.getElementById('dlbutton').href = "/n/abc/"+(n + n * 2 + b)+"3/6775808test.txt";
    }
</script>"""
var = re.findall("(?<=var)\s+(.*)", h)
exp = re.search("(?<=\+)\(.*\)", h).group()
href = re.search("(?<=\.href)\s+\=(.*);", h).group(1).replace(exp, "str{}".format(exp))

for v in var:
    exec v

url = eval(href)
print(url)