我试着从一个网站一页一页地获取一些信息,基本上我是这样做的:
import mechanize
MechBrowser = mechanize.Browser()
Counter = 0
while Counter < 5000:
Response = MechBrowser.open("http://example.com/page" + str(Counter))
Html = Response.read()
Response.close()
OutputFile = open("Output.txt", "a")
OutputFile.write(Html)
OutputFile.close()
Counter = Counter + 1
好吧,上面的代码最终抛出“内存不足”错误,在任务管理器中,它显示脚本在运行几个小时后几乎用完了1GB内存。。。怎么会?!在
有谁能告诉我出了什么问题吗?在
这并不完全是内存泄漏,而是一个未记录的特性。基本上,
mechanize.Browser()
将所有浏览器历史记录集中存储在内存中。在如果在
Response.close()
之后添加对MechBrowser.clear_history()
的调用,它应该可以解决问题。在相关问题 更多 >
编程相关推荐