2017-10-11 2 views
-1

j'ai écrit un bot python (pour télégramme) qui fonctionne à l'infini dans une boucle et son but est de charger le contenu d'une page particulière, pour rechercher une certaines phrases et des mots en utilisant le code ci-dessous:en python - pourquoi la taille de la variable dans la mémoire diminue après de nombreuses exécutions?

response = requests.get(url) 
content = response.content.decode("utf8") 

for m in re.finditer("words to find", content): 

d'abord tout semble parfait mais après environ 20 à 30 demande à mon bot il ne peut pas charger la source de la page et ne trouve pas les mots:

avant la 20 itération la taille de la variable (contenu) dans la mémoire est 39546 , mais la taille est réduite à 2636

getsizeof(content) 
+1

Avez-vous essayé d'imprimer le contenu ou de l'écrire dans des fichiers pour examen? Ma conjecture serait une réponse d'erreur est retournée. – ryachza

Répondre

1

Imprimer le contenu. Le plus probable est que votre bot est bloqué et qu'on lui remet une page captcha ou quelque chose comme ça. Vous pouvez également vérifier le code d'état des indices.

Vous pouvez également ajouter un point d'arrêt après un nombre ou des demandes et inspecter des variables. Vérifiez ipdb pour cela.

+4

Cette réponse n'est pas digne du statut "réponse", plus d'un commentaire. – randomir

+0

@randomir Pourquoi n'est-ce pas? Vérifiez ceci: https://stackoverflow.com/help/how-to-answer 'Toute réponse qui pousse le demandeur dans la bonne direction est utile'. – tayfun

+0

La question peut ne pas être claire, mais vous ne répondez pas vraiment ici. Vous êtes simplement en train de spéculer et deviner les raisons possibles, guidant l'OP comment déboguer son problème. – randomir