在python中如何处理域名中的其他编码
我正在尝试从文件加载的电子邮件的 Message-ID 字段中解析域名,并将其与 from 字段的域进行比较,以查看其匹配程度。然后我使用 nltk.edit_distance()
比较距离。
我正在使用
re.search('@[\[\]\w+\.]+',mail['Message-ID']).group()[1:]
但有一封垃圾邮件消息具有以下内容
mail2['Message-ID']
'<2011315123.04C6DACE618A7C2763810@\x82\xb1\x82\xea\x82\xa9\x82\xe7\x8c\xa9\x82\xa6\x82\xe9\x82\xbe\x82\xeb\x82\xa4>'
因此,当我尝试匹配它在 group()
中不返回匹配项时
,我可以在 Shift_JIS 中对其进行解码,但不知道如何处理它 <2011315123.04C6DACE618A7C2763810@これから见えるだろう>
我不想尝试检查每种可能的字符编码。
我应该用它做什么有什么想法吗?
I'm trying to parse domain names from the Message-ID field of an email that's been loaded from a file and compare it to the domain of the from field to see how well it matches up. Then I compare the distance using nltk.edit_distance()
.
I'm using
re.search('@[\[\]\w+\.]+',mail['Message-ID']).group()[1:]
but one spam message has the following
mail2['Message-ID']
'<2011315123.04C6DACE618A7C2763810@\x82\xb1\x82\xea\x82\xa9\x82\xe7\x8c\xa9\x82\xa6\x82\xe9\x82\xbe\x82\xeb\x82\xa4>'
So when I try and match that it doesn't return a match in group()
I can decode it in Shift_JIS, but don't know what to do with it from there<2011315123.04C6DACE618A7C2763810@これから見えるだろう>
I don't want to try and check for every possible character encoding.
Any ideas of what I should do with it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试 chardet 项目,它使用算法来猜测字符编码:
输出:
You can try the chardet project, which uses an algorithm to guess the character encoding:
Output: