在 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)
我尝试仅使用 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)