我有一个内置javascript的网页,我需要匹配传递给函数的2个变量:
<html>
<!--Some html code-->
document.write(function('variable1', 'variable2'));
<!--Some html code-->
</html>
variable1和variable2可以是具有混合字符和数字的任何长度的字符串。我需要将它们两者相匹配。这就是我现在使用的:
data = getSoup(url) # my function to get the beautifulsoup object
script = data.find('script', text = re.compile(r'document\.write\(function\(')).text.replace('document.write(function(\'', '')
variable1 = script.split("', '")[0]
variable2 = script.split("', '")[1].replace("'));","")
但是我想使用更简单的东西&#34;安全&#34; (即使因为并不总是函数是一个脚本标记。
更新 感谢 Thomas Ayoub 回答,我找到了一个适合我的简单解决方案:
script = re.findall(r"document\.write\(function\(\'(.*?)\', \'(.*?)\'\)\)\;", str(data))[0]
variable1 = script[0]
variable2 = script[1]
答案 0 :(得分:0)