在python中-为什么在多次运行后内存中变量的大小会减小?

在python中-为什么在多次运行后内存中变量的大小会减小?,python,memory,bots,telegram,Python,Memory,Bots,Telegram,我编写了一个python bot(用于电报),它在循环中无限运行,其目标是加载特定页面的内容,使用以下代码搜索特定的句子和单词: response = requests.get(url) content = response.content.decode("utf8") for m in re.finditer("words to find", content): 起初,每件事看起来都很完美,但在向我的机器人发出大约20到30次请求后,它无法完全加载页面源,也无法找到单词,因此: 在20次迭

我编写了一个python bot(用于电报),它在循环中无限运行,其目标是加载特定页面的内容,使用以下代码搜索特定的句子和单词:

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

for m in re.finditer("words to find", content):
起初,每件事看起来都很完美,但在向我的机器人发出大约20到30次请求后,它无法完全加载页面源,也无法找到单词,因此:

在20次迭代之前,内存中变量(内容)的大小为39546 但随后规模缩小到2636

getsizeof(content)

打印内容中的内容。最有可能的是你的机器人被封锁,并被交给验证码页面或类似的东西。您还可以检查状态代码以获取线索


您可能还希望在一些数字或请求之后添加断点,并检查变量。检查
ipdb

您是否尝试过打印内容或将其写入文件以供审阅?我猜是返回了一个错误响应。这个答案不值得“回答”状态,更多的是评论。@randomir为什么不呢?检查此项:
任何能让提问者走上正确方向的答案都是有帮助的
。问题可能不清楚,但你并没有在这里真正回答它。你只是在猜测可能的原因,指导OP如何调试他的问题。是的,这就是为什么我请求的页面是谷歌搜索结果,在多次尝试后,我的ip被阻止了。谢谢