Python 2.7 迭代文本文件并生成字典时出错
我创建了一个文本文件,其中填充了我创建的爬虫程序中的域(我希望如此)。 稍后,我尝试迭代文本文件并运行它和函数,然后给我域证书。出现了一个错误,我不明白为什么它不起作用。 任何帮助都会很好,谢谢Python 2.7 迭代文本文件并生成字典时出错,python-2.7,ssl,dictionary,ssl-certificate,Python 2.7,Ssl,Dictionary,Ssl Certificate,我创建了一个文本文件,其中填充了我创建的爬虫程序中的域(我希望如此)。 稍后,我尝试迭代文本文件并运行它和函数,然后给我域证书。出现了一个错误,我不明白为什么它不起作用。 任何帮助都会很好,谢谢 d1={} with open('found.txt','w') as f: f.writelines(url+ '\n' for domain in found) f.close() for domain in open('found.txt','r'): domain=
d1={}
with open('found.txt','w') as f:
f.writelines(url+ '\n' for domain in found)
f.close()
for domain in open('found.txt','r'):
domain=str(domain)
domain="http://" + domain + "/"
#print domain
try:
cert=ssl.get_server_certificate((domain, 443))
except:
continue
if domain not in d1:
d1[domain]=cert
f.close()
print d1
我使用try和except绕过域错误
字典显示为空,并且创建的文本文件不存在。有什么提示吗?查看它正在失败的域会有所帮助。在调用
ssl.get\u server\u certificate()
并重新运行之前,尝试添加print(domain)
。此外,您正在将\n
添加到found.txt
中的每一行,但在处理文件时不会将其剥离。因此,您的域中可能有一个换行符。首先尝试调用domain.rstrip()
。我找到了出现问题的域。它不存在。为了绕过这些错误,我使用了try和except。它现在可以工作了,但是当我打印字典时,它是空的,并且文件“find.txt”不存在。f.writelines(url+'\n'表示find中的域)
不要使用bare除了:
。记录所有错误以进行调试。