Le coupable était Mechanize avec le chandelier dans le salon :
En effet, Mechanize par défaut sauve tout l’historique de votre navigation, donc imaginez le carnage quand vous avez un script qui est censé scanner des milliers de pages internet…
Pour lui couper le sifflet on peut utiliser cette méthode :
import mechanize
from mechanize import History
class MaxHistory(History):
"""
History implementation with a size limit.
"""
def __init__(self, max_history=None):
self._history = [] # LIFO
self.max_history = max_history
def add(self, request, response):
self._history.append((request, response))
if (self.max_history is not None and self._history
and self.max_history <= len(self._history)):
self._history.pop(0)
br = mechanize.Browser(history=MaxHistory(max_history=10))
Browser.open("http://sametmax.com/")
Et voilà !
Plus de problème de mémoire. Merci bibi.