我尝试仅使用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拥有脚本标签后,您可以将REGEX然后exec/exter代码:
: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)