通过Python查找网页何时更新?
所以,我在抓取一个网页,我在网页上有一个显示整数的元素,当我抓取该元素时,我将明文存储在一个变量中,然后每次它抓取时,我将变量与网页上的明文进行比较。我不确定是否每次我都需要得到一个网页请求通过Python查找网页何时更新?,python,Python,所以,我在抓取一个网页,我在网页上有一个显示整数的元素,当我抓取该元素时,我将明文存储在一个变量中,然后每次它抓取时,我将变量与网页上的明文进行比较。我不确定是否每次我都需要得到一个网页请求 from win10toast import ToastNotifier from _overlapped import NULL from plyer import notification import requests from bs4 import BeautifulSoup toaster
from win10toast import ToastNotifier
from _overlapped import NULL
from plyer import notification
import requests
from bs4 import BeautifulSoup
toaster = ToastNotifier()
toaster.show_toast("Notification!", "Alert!", threaded=True, icon_path=NULL, duration=3)
URL = "https://rocketleague.tracker.network/rocket-league/profile/steam/76561198074072333/mmr?playlist=13"
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
_title = ""
_message = ""
recent_mmr = "111"
def get_mmr(url):
results = soup.find_all(class_="stat")
for stat in results :
titles = stat.find_all(class_="label")
for t in titles :
if(t.text.strip() == "Rating"):
val = stat.find(class_="value").text.strip()
return val
def get_rank(url):
results = soup.find(class_="stat tier")
rank = results.find(class_="label")
return rank.text.strip()
_message = "Rank: " + get_rank(URL) + "\n" + "MMR: " + get_mmr(URL)
recent_mmr = get_mmr(URL)
import time
while toaster.notification_active():
time.sleep(0.1)
notification.notify(
title="Ranked 3v3",
message= _message,
app_icon=NULL,
timeout=10
)
print(recent_mmr)
recent_mmr = get_mmr(URL)
while True:
print('running')
#page = requests.get(URL)
recent_mmr = get_mmr(URL)
mmr_temp = recent_mmr
print(mmr_temp +"(temp mmr)")
if mmr_temp == recent_mmr:
print("No update, recent MMR: " + recent_mmr)
mmr_temp = recent_mmr
time.sleep(60)
else:
notification.notify(
title="Ranked 3v3",
message= _message,
app_icon=NULL,
timeout=10
)
time.sleep(60)
recent_mmr = get_mmr(URL)
mmr_temp = recent_mmr
print("Updated, recent MMR: " + recent_mmr)
您正在抓取网页以获取最近的mmr编号,将其复制到mmr temp,然后立即进行比较,看看它们是否相等——当然,它们是相等的,因为您刚刚复制了它 您需要稍微重新组织循环,并复制循环底部的mmr变量:
previous_mmr = None
while True:
recent_mmr = get_mmr()
if recent_mmr != previous_mmr:
print("mmr changed")
previous_mmr = recent_mmr