有没有一种方法可以存储以前的响应并与当前响应进行比较?

时间:2020-10-31 12:07:31

标签: python python-3.x

我通常用谷歌搜索我的问题,但这次却找不到。我也不是真正地去编程,只是尝试。

因此,基本上,我正在尝试编写一个脚本,该脚本不断向html页面执行GET请求,获取内容,将其存储一段时间,然后再获取另一个请求,将响应与先前的响应进行比较,并根据条件执行不同的操作,如果它们相等,则什么都不做;如果它们不同,则执行新动作。 这是我写的代码。我知道为什么它不起作用,它同时执行两个请求。我只是不知道如何正确存储它。

import requests
import time

url = 'http://127.0.0.1:5000/'
result = requests.request("GET", url, verify=True)
new_result = requests.request("GET", url, verify=True)

print(result.content)
print(new_result.content)

while result.content == new_result.content:
        print('condition 1')
        time.sleep(15)

while result.content != new_result.content:
        print('condition 2')
        time.sleep(15)

1 个答案:

答案 0 :(得分:0)

这应该使您入门。我仅用一个替换了您的2个循环(目前是无限的,但是您可以随时更改以适合您的实际需求)。关键是在获取sleep之前先做new_result,然后检查它是否等于旧的。然后最后将“旧”文件更新为您刚刚获取的结果。

import requests
import time

url = 'http://127.0.0.1:5000/'
result = requests.request("GET", url, verify=True)

while True:
    time.sleep(15)
    new_result = requests.request("GET", url, verify=True)
    print(result.content)
    print(new_result.content)
    if result.content == new_result.content:
        print('condition 1')
    else:
        print('condition 2')
    result = new_result