我希望写一个程序来匹配URI列表中的恶意URN,问题很简单,但由于Python的基本技能,以及C++之类的知识更少,我不知道从哪里开始,因为谷歌给我留下的工作很少。所以,如果可能的话,Python建议对我来说是最简单的,只要有一点指导就行了,但我会尽可能地去做。
这里是这样的场景:我将有一个CSV的恶意网页,这些恶意网页的URI中通常有一些静态标识符,我需要比较每个字符串中的一些长度(例如4-10)的字符,然后输出任何匹配的字符串。我被困住的部分是如何列出100个URL并对每个URL进行可行的测试。
示例: uri1: hxxp://域名/abcdefghijklmnopqrstuvwxyz uri2: hxxp://域名/0123456789!@#$%^&*()_+-=
因此,循环会将abcd与0123进行比较,然后是1234、3456等。然后bcde到0123,依此类推...显然,在这个示例中没有任何匹配,但更容易说明我期望的代码可能如何工作。
我如何获取100URI并在字符串的每个字符中“爬行”,而不是每个字符都有100-200个条目的100+数组?
发布于 2017-01-20 05:51:50
你可以使用的是某种函数,给定两个字符串,给出两对n长子字符串:
from collections import deque
def n_wise(s1, s2, length=4):
i1=iter(s1)
i2=iter(s2)
x, y = deque(maxlen=length), deque(maxlen=length)
for _ in range(length):
x.append(next(i1))
y.append(next(i2))
yield ''.join(x), ''.join(y)
for a, b in zip(i1, i2):
x.append(a)
y.append(b)
yield ''.join(x), ''.join(y)然后,您可以迭代进行比较,如下所示:
>>> for left, right in n_wise("abcdefghijk...", "0123456789..."):
...https://stackoverflow.com/questions/41752200
复制相似问题