比较一个文本文件和另一个文本文件中的值以进行匹配

时间:2018-11-22 13:23:54

标签: python

我有一个文本文件(results.txt),其中包含哈希,URL,IP列表。

尝试:

1。仅提取“匹配”值中也有键“类型”:“ URL”的网址

2。将所有URL与另一个包含已知域列表(Alexa.txt)的本地文本文件进行比较。

3。如果比较过程中存在匹配项,则从results.txt文件中删除URL行

文本文件示例:

{"path": "pastebin.com", "match": "http://firefox.com/eiKMths", "type": "URL", "page": 1, "file": "pastebin.com"}
{"path": "pastebin.com", "match": "http://amazon.com/m7GTLj59x7", "type": "URL", "page": 1, "file": "pastebin.com"}
{"path": "pastebin.com", "match": "109.228.9.122", "type": "IP", "page": 1, "file": "pastebin.com"}
{"path": "pastebin.com", "match": "ED9DF1625C1D981FE54490FAB7934BE36322E4C5C88A19F4C244307DF2523E52", "type": "SHA256", "page": 1, "file": "pastebin.com"}

所以目标是比较: firefox.com amazon.com 针对Alexa.txt。如果存在匹配项,则从results.txt文件中删除URL行。

我的代码非常不完善,很丢失...

1 个答案:

答案 0 :(得分:0)

这涉及很多问题,而不仅仅是1个问题。

对于初学者,您需要有效的JSON字符串,例如

[{"path": "pastebin.com", "match": "http://firefox.com/eiKMths", "type": "URL", "page": 1, "file": "pastebin.com"},
{"path": "pastebin.com", "match": "http://amazon.com/m7GTLj59x7", "type": "URL", "page": 1, "file": "pastebin.com"},
{"path": "pastebin.com", "match": "109.228.9.122", "type": "IP", "page": 1, "file": "pastebin.com"},
{"path": "pastebin.com", "match": "ED9DF1625C1D981FE54490FAB7934BE36322E4C5C88A19F4C244307DF2523E52", "type": "SHA256", "page": 1, "file": "pastebin.com"}]

通过这种结构,您可以对类型== URL进行测试

import json
import pandas as pd
with open(r'C:\Users\User\Desktop\pyJSON.json') as datafile:
    data = json.load(datafile)
print([f for f in data if f['type']=="URL"]) 

希望这能使事情移动很长时间。