Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 需要从Thunderbird导出的.eml文件中删除旧邮件_Python_Xml_Eml - Fatal编程技术网

Python 需要从Thunderbird导出的.eml文件中删除旧邮件

Python 需要从Thunderbird导出的.eml文件中删除旧邮件,python,xml,eml,Python,Xml,Eml,有一条非常难控制的线我必须处理。这些邮件中的每一封都是正常回复的,所以每一封都有完整的历史记录并不重要,直到收到几百封邮件 所以,我在Thunderbird中打开了它们,并将它们导出。现在,我必须找到一种方法,将每封电子邮件剥离到只有它自己的内容。保留对bits的回复,但只需删除其他电子邮件的实际内容即可 我现在正在使用Python,因为我对它很熟悉,以前也用过它进行XML解析。我尝试了BeautifulSoup,它似乎在剥离3D“gmail_quote”div元素方面非常有效,但在这样做的过程

有一条非常难控制的线我必须处理。这些邮件中的每一封都是正常回复的,所以每一封都有完整的历史记录并不重要,直到收到几百封邮件

所以,我在Thunderbird中打开了它们,并将它们导出。现在,我必须找到一种方法,将每封电子邮件剥离到只有它自己的内容。保留对bits的回复,但只需删除其他电子邮件的实际内容即可

我现在正在使用Python,因为我对它很熟悉,以前也用过它进行XML解析。我尝试了BeautifulSoup,它似乎在剥离3D“gmail_quote”div元素方面非常有效,但在这样做的过程中,它似乎试图通过在其他元素中包装各种位来理解.eml文件的其余部分,并破坏了格式

因此,我需要找到一种方法,在不涉及纯文本的情况下,从一个不是纯XML但包含大量有效XML的文件中剥离特定div类及其子类的每个实例。我想要使用的部分都是有效的XML(或者,对于属性上带有奇数引号的BeautifulSoup来说,足够接近)


我知道我还必须去掉正文中的回复,但这很简单。

在没有看到示例的情况下,我无法确定如何完成您需要的内容,但是来自的解析器应该处理.eml文件的解析