繁体   English   中英

如何在python中解析时清理内存

[英]How to clean memory while parsing in python

我有一个用Python 3编写的简单的两步解析脚本,其工作方式如下:

1)给定URL的函数使用BeautifullSoup对其进行解析,以简单的Pandas Series收集所有需要的数据,然后将其返回:

def parse(url):
    ...fill in Series
    return Series

2)我有一个庞大的URL列表(超过5万个项目),可以循环使用:

for url in urls:
    dataframe.append(parse(url))

脚本运行时,内存使用量会增加很多(例如仅20分钟后就会增加5 GB)。

如何在每次迭代后正确清理内存或下载缓存?

好的,如果您遇到同样的问题:

1)确保您在使用完后使用了soup.decompose()2)当然,当我尝试将所有数据保存到一个pd.DataFrame中之前将其保存到文件时,我犯了一个错误。 现在我得到一个小的tmp数据帧,一旦我得到固定数量的行,我将其保存,然后清除tmp。

现在,该过程最多使用200 mb的内存。

就是这样,希望对任何人有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM