美团高需求杀戮计划

2024-10-04 01:34:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个python脚本(https://github.com/BrunorpPaixao/lmfm4u),当你要求facebook向你发送你曾经发送/接收过的所有消息时,它可以用来清除你从facebook得到的文本。你知道吗

它对大多数文件都很有效,但是当我试图扫描一个巨大的文本文件时,在盯着一个冻结的屏幕几分钟后,我在终端上收到一条消息说“被杀死了”,我认为问题来自于BeautifulSoup及其加载巨大文件的能力。你知道吗

我想知道是否有任何方法,我可以改善我的代码,以提高“清洁”的时间,或者如果我做了什么错误的方式,我现在这样做。你知道吗

所以。。。当我们从facebook上得到这些文件时,他们进来找我们

</div><div></div><div></div></div></div><div class="_3-94 _2lem">11/12/2017, 21:48</div></div><div class="pam _3-95 _2pi0 _2lej uiBoxWhite noborder"><div class="_3-96 _2pio _2lek _2lel">Francisco Zacarias</div><div class="_3-96 _2let"><div><div></div><div>eles nao deram respwan</div><div></div><div></div></div></div><div class="_3-94 _2lem">11/12/2017, 21:48</div></div><div class="pam _3-95 _2pi0 _2lej uiBoxWhite noborder"><div class="_3-96 _2pio _2lek _2lel">Francisco Zacarias</div><div class="_3-96 _2let"><div><div></div><div>deve ter bugado ent</div><div></div><div></div></div></div><div class="_3-94 _2lem">11/12/2017, 21:48</div></div><div class="pam _3-95 _2pi0 _2lej uiBoxWhite noborder"><div class="_3-96 _2pio _2lek _2lel">Bruno Paixao</div><div class="_3-96 _2let"><div><div></div><div>e usares nos pilares</div><div></div><div></div></div></div><div class="_3-94 _2lem">11/12/2017, 21:44</div></div><div class="pam _3-95 _2pi0 _2lej uiBoxWhite noborder"><div class="_3-96 _2pio _2lek _2lel">Bruno Paixao</div><div class="_3-96 _2let"><div><div></div><div>é so dropares 5</div><div></div><div></div></div></div><div class="_3-94 _2lem">11/12/2017, 21:44</div></div><div class="pam _3-95 _2pi0 _2lej uiBoxWhite noborder"><div class="_3-96 _2pio _2lek _2lel">Bruno Paixao</div><div class="_3-96 _2let"><div><div></div><div>e usas uma em cada pilar</div><div></div><div></div></div></div><div class="_3-94 

这是一个简单的一行HTML代码,然后我使用BeautifulSoup删除所有的HTML标记,然后使用正则表达式分割消息,最后,正确设置它们。你知道吗

regex = re.compile('\\d{2}/\\d{2}/\\d{4},.\\d{2}:\\d{2}')
CleanStartTime = time.time()
cleaned = BeautifulSoup(document, "lxml").get_text()
cleaned = cleaned.split(" ")
if(len(cleaned) < 290):
    print("Wrong type of file, please choose a facebook messenger history file.")
    quit()
else:
    for i in range(290):
        cleaned.pop(0)
cleaned =  " ".join(cleaned)
cleanedwregex = re.split(regex, cleaned)
listofdates = re.findall(regex, cleaned)
CleanEndTime = time.time()
print("HTML cleaned in " + str("%.2f" % (CleanEndTime - CleanStartTime)) + "seconds")

PrintStartTime = time.time()
gucciString = ""
for i in range(len(cleanedwregex) - 1):
    gucciString += listofdates[i] + " | " + cleanedwregex[i] + "\n"

最后,输出如下:

11/12/2017, 21:44 | Bruno Paixaotens de matar os orcs
11/12/2017, 21:44 | Bruno Paixaoai
11/12/2017, 21:31 | Francisco Zacariaso que é que tenho de fazer aqui
11/12/2017, 21:31 | Francisco Zacarias
11/12/2017, 21:31 | Francisco Zacariascaro engenheiro do ips peço desculpa estar a incomodar mas nao sei o que fazer agora

我希望能在“美化”大文件方面得到一些帮助,我考虑过检查字符总数(有些达到5800万个字符)并将其按位进行,附加到最终的文件中,但在尝试之前,我想听听你们中的一些人的意见。你知道吗

如果您想查看完整的代码,请单击顶部的github链接,非常感谢您的帮助!你知道吗


Tags: 文件代码div消息facebooktimeclasspam