mechaniz出现“内存不足”错误

2024-09-25 00:34:14 发布

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

我试着从一个网站一页一页地获取一些信息,基本上我是这样做的:

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内存。。。怎么会?!在

有谁能告诉我出了什么问题吗?在


Tags: importbrowser信息httpclose网站exampleresponse
1条回答
网友
1楼 · 发布于 2024-09-25 00:34:14

这并不完全是内存泄漏,而是一个未记录的特性。基本上,mechanize.Browser()将所有浏览器历史记录集中存储在内存中。在

如果在Response.close()之后添加对MechBrowser.clear_history()的调用,它应该可以解决问题。在

相关问题 更多 >