【发布时间】:2020-08-06 03:12:38
【问题描述】:
我正在 Python 3 中尝试获取给定字符串 a 的所有子字符串的列表,这些子字符串在分隔符 x 之后开始,在分隔符 y 之前结束。 我找到了只让我第一次出现的解决方案,但结果需要是所有出现的列表。
start = '>'
end = '</'
s = '<script>a=eval;b=alert;a(b(/XSS/.source));</script><script>a=eval;b=alert;a(b(/XSS/.source));</script>'"><marquee><h1>XSS by Xylitol</h1></marquee>'
print((s.split(start))[1].split(end)[0])
上面的例子是我到目前为止所得到的。但我正在寻找一种更优雅、更稳定的方式来获取所有的事件。
因此,作为列表的预期返回将包含以下条目的 javascript 代码:
a=eval;b=alert;a(b(/XSS/.source));
a=eval;b=alert;a(b(/XSS/.source));
【问题讨论】:
-
这能回答你的问题吗? Parsing HTML using Python
-
遗憾的是,我实际上正在使用 Beautiful Soup 和 Esprima。另一方面,输入字符串不必包含可以解析的完整 HTML 结构。它们宁愿是包含 XSS Paylods 的 URL,因此可以包含 Javascript。我需要手动从 URL 中提取所有 标签。
标签: python html substring string-matching