最近想提取出特定的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
ringa_lee2017-04-18 09:07:15
으아악
그렇습니다. 원래 "webshell"을 먼저 판단했는데, 0이 아니면 url의 "phpinfo"와 url의 "phpinfo"를 판단합니다...
天蓬老师2017-04-18 09:07:15
으아악
은 if "webshell"
또는 if "phpinfo" in url
을 의미하며 전자는 항상 참입니다.
이것이 의미하는 것은 if "phpinfo" in url
입니다. 왜냐하면 if "webshell"
은 항상 참이기 때문입니다.
해결책은 기본적으로 @lock이 말한 대로입니다.
으아악오늘 어울리는 단어가 많다면:
으아악결과:
으아악urlcontain(url, lst)
url
에 lst
문자열
이렇게 하면 10개의 키워드를 비교할 때 if 문을 너무 길게 작성하지 않아도 됩니다.
물론 re
을 사용해도 되지만 개인적으로 re
는 별로 안 좋아하는데...
내가 답변한 질문: Python-QA