最近想提取出特定的URL,遇到问题为预期提取出URL中带有webshell或者phpinfo字段的URL,但是全部URL都匹配出来了:
for url in urls:
if "webshell" or "phpinfo" in url:
print url
改成and语句也不符合预期,只提取出了含有phpinfo的url:
for url in urls:
if "webshell" and "phpinfo" in url:
print url
C'est ok, vous avez initialement jugé "webshell" en premier, et s'il n'est pas nul, alors jugez "phpinfo" dans l'url "webshell" et "phpinfo" dans l'url sont liés...
signifie
if "webshell"
ouif "phpinfo" in url
et le premier est toujours vrai.Ce que cela signifie, c'est
if "phpinfo" in url
parce queif "webshell"
est toujours vrai.La solution est essentiellement comme @lock l'a dit :
S'il y a beaucoup de mots utilisés pour correspondre aujourd'hui :
Résultat :
urlcontain(url, lst)
Vous pouvez demander àurl
s'il y a une chaînelst
dansDe cette façon, comparer dix mots-clés n’entraînera pas une instruction if trop longue.
Bien sûr, vous pouvez utiliser
re
, mais personnellement, je n'aime pasre
c'est tout...Questions auxquelles j'ai répondu : Python-QA