📜  监控网站变化的Python脚本

📅  最后修改于: 2022-05-13 01:55:20.934000             🧑  作者: Mango

监控网站变化的Python脚本

在本文中,我们将讨论如何创建Python脚本来监控网站更改。您可以编写一个程序来监控网站,如果有任何更改,它会通知您。该程序有许多有用的场景,例如,如果您的学校网站更新了一些您会了解的内容。

方法:

我们将按照以下步骤来编写这个程序:

  1. 阅读您要监控的 URL。
  2. 散列整个网站。
  3. 等待指定的秒数。
  4. 如果与之前的散列相比有任何更改,请通知我,否则请等待,然后再次获取散列。

需要的库:

我们将使用的库是:

  • 时间:等待指定的时间。
  • hashlib:散列整个网站的内容。
  • urlib:执行获取请求并加载网站内容。

执行:

Python3
# Importing libraries
import time
import hashlib
from urllib.request import urlopen, Request
  
# setting the URL you want to monitor
url = Request('https://leetcode.com/', 
              headers={'User-Agent': 'Mozilla/5.0'})
  
# to perform a GET request and load the 
# content of the website and store it in a var
response = urlopen(url).read()
  
# to create the initial hash
currentHash = hashlib.sha224(response).hexdigest()
print("running")
time.sleep(10)
while True:
    try:
        # perform the get request and store it in a var
        response = urlopen(url).read()
          
        # create a hash
        currentHash = hashlib.sha224(response).hexdigest()
          
        # wait for 30 seconds
        time.sleep(30)
          
        # perform the get request
        response = urlopen(url).read()
          
        # create a new hash
        newHash = hashlib.sha224(response).hexdigest()
  
        # check if new hash is same as the previous hash
        if newHash == currentHash:
            continue
  
        # if something changed in the hashes
        else:
            # notify
            print("something changed")
  
            # again read the website
            response = urlopen(url).read()
  
            # create a hash
            currentHash = hashlib.sha224(response).hexdigest()
  
            # wait for 30 seconds
            time.sleep(30)
            continue
              
    # To handle exceptions
    except Exception as e:
        print("error")


输出:

输出

注意: time.sleep() 以秒为参数。您可以更改通知而不是在终端上打印状态,您可以编写程序来接收电子邮件。