我一直在试图找到一种以json形式存储代理数据的方法,我知道更简单的方法是从文本框中获取每个代理并将其保存到文件中,然后再访问它。只是从文件中加载信息,但我想拥有可与不同类型IP配合使用的组。比如说一个小组使用某个提供商的代理IP,而另一个小组使用另一个提供商的IP,我需要将IP存储在他们尊敬的组中,这就是为什么我认为我需要创建一个json文件来存储每个代理位于其自己的json数组中。我遇到的麻烦是将IP添加到json数组中,因为我试图遍历其中包含IP的传输文件,然后将其添加到json数组中。到目前为止,我已经尝试过了,
def save_proxy():
proxy = pooled_data_default.get('1.0', 'end-2c')
transfer_file = open('proxies.txt', 'w')
transfer_file.write(proxy)
transfer_file.close()
transfer_file1 = open('proxies.txt', 'r')
try:
with open('proxy_groups.txt', 'r+') as file:
proxy_group = json.load(file)
except:
proxy_group = []
total = []
for line in transfer_file1:
line = transfer_file1.readline().strip()
total.append(line)
proxy_group.append({
'group_name': pool_info.get(),
'proxy': [{
'proxy': total,
}]
}),
with open('proxy_groups.txt', 'w') as outfile:
json.dump(proxy_group, outfile, indent=4)
这不起作用,但这是我尝试从文件中取出每一行并将其动态添加到json数组中。任何帮助表示赞赏。
编辑:这是正在输出的内容:
[
{
"group_name": "Defualt",
"proxy": [
{
"proxy": [
"asdf",
""
]
}
]
}
]
这是输入
wdsa
asdf
sfs
似乎只选择了3个中间的一个。我认为打印它们的列表是可行的,但是仍然打印中间的一个,最后打印一个空格。
我的数据的一个示例是文本框的输入可能是
wkenwwins:1000:username:password
uwhsuh:1000:username:password
2ewswsd:1000:username:password
gfrfccv:1000:username:password
我可能要将其保存到的选定组称为“默认”。我选择默认,然后单击“保存”,将这些输入添加到名为“ proxies.txt”的单独的txt表中。然后从文本表中我想遍历每行并将每行追加到json数据。它没有做,在这里我希望它看起来像json数据
[
{
"group_name": "Defualt",
"proxy": [
{
"proxy": [
'ewswsd:1000:username:password',
'wkenwwins:1000:username:password',
'uwhsuh:1000:username:password'
]
}
]
}
]
然后说,如果我分成两组,则json数据txt文件应如下所示:
[
{
"group_name": "Defualt",
"proxy": [
{
"proxy": [
'ewswsd:1000:username:password',
'wkenwwins:1000:username:password',
'uwhsuh:1000:username:password'
]
}
]
}
]
[
{
"group_name": "Test",
"proxy": [
{
"proxy": [
'ewswsd:1000:username:password',
'wkenwwins:1000:username:password',
'uwhsuh:1000:username:password'
]
}
]
}
]
因此,我可以仅通过调用组名来访问每个组。