【发布时间】:2011-01-24 11:57:13
【问题描述】:
我有一个网络抓取脚本,每分钟获取一次新数据,但在几天的时间里,该脚本最终使用了 200mb 或更多内存,我发现这是因为 mechanize 保持无限浏览器.back() 函数使用的历史记录。
我查看了文档字符串,发现了浏览器类的 clear_history() 函数,每次刷新时我都会调用它,但每次页面刷新时我仍然会增加 2-3mb 的内存使用量。 edit:嗯,在我调用 clear_history 之后,它似乎一直在做同样的事情,直到我使用了大约 30mb 的内存使用量,然后它又清理回了 10mb 左右(这是我的程序启动时使用的基本内存量)...有什么方法可以更定期地强制这种行为?
如何防止 mechanize 存储所有这些信息?我不需要保留任何东西。我想将我的 python 脚本的内存使用量保持在 15mb 以下。
【问题讨论】:
-
好问题 - 我在线程爬虫中使用 mechanize,历史导致程序达到 1.5GB 内存...