import
time
from
datetime
import
datetime, timedelta
import
numpy as np
import
requests
from
PIL
import
ImageGrab
def
get_screen_region_screenshot(region):
screenshot
=
ImageGrab.grab(bbox
=
region)
return
np.array(screenshot)
def
send_http_request():
url
=
"https://xxxxxxxxxxxxxxxx"
payload
=
{
"key"
:
"value"
}
headers
=
{
"Content-Type"
:
"application/json"
}
response
=
requests.post(url, json
=
payload, headers
=
headers)
print
(
"HTTP Response:"
, response.text)
def
send_http_request2():
url
=
"https://xxxxxxxxxxxxxxxx"
payload
=
{
"key"
:
"value"
}
headers
=
{
"Content-Type"
:
"application/json"
}
response
=
requests.post(url, json
=
payload, headers
=
headers)
print
(
"HTTP Response:"
, response.text)
def
monitor_screen_region_changes(region, polling_interval
=
1
, inactivity_duration
=
60
):
previous_screenshot
=
get_screen_region_screenshot(region)
last_change_time
=
datetime.now()
while
True
:
current_screenshot
=
get_screen_region_screenshot(region)
if
not
np.array_equal(previous_screenshot, current_screenshot):
print
(
"指定区域的像素发生变化"
)
send_http_request()
previous_screenshot
=
current_screenshot
last_change_time
=
datetime.now()
elif
datetime.now()
-
last_change_time >
=
timedelta(seconds
=
inactivity_duration):
print
(
"内容1分钟未发生变化,请确认!"
)
send_http_request2()
last_change_time
=
datetime.now()
time.sleep(polling_interval)
if
__name__
=
=
"__main__"
:
region_to_monitor
=
(
595
,
168
,
1554
,
806
)
monitor_screen_region_changes(region_to_monitor)