2017-11-15 11 views
0

私はいくつかのウェブサイト(これらのウェブサイトは私のものではありません)の変更を監視し、何らかの通知を受け取ります。あなたがこれを持っていた経験を共有すれば、それをコーディングする方法について正しい方向で私を指摘することができます。私はそれを大いに感謝します。特定のWebサイトCSSの変更を監視するにはどうすればよいですか?

私はこのスクリプト/アプリが変更についてスラックグループに通知したいと思っています。これはウェブフックが必要と想定しています。

コードを要求しないで、特定のAPIやその他のツールについてのアドバイスが必要です。

答えて

0

ワークフローでGithubを使用することをお勧めします。これは、古いバージョンに戻すための変更や方法の良いアイデアを提供します。

+0

私の質問をより明確に編集しました。私は他の誰かのウェブサイトを監視したいと思います。私のものではありません。 –

0

一つの可能​​な解決策:.cssファイル用

クロールウェブサイトは、変更の日付および/またはファイルサイズを保存します。

各クロール後に情報を比較し、変更が検出された場合はスラックAPIを使用して通知します。私は余裕を持って仕事をしていませんが、ソリューションのこの部分で他の人が助言を与えるかもしれません。

1

私はtschaefermediaの答えの修正を提案します。

  1. .cssファイルのクロールWebサイト。
  2. 各ファイルのmd5を取得します。
  3. 次に、新しいファイルのmd5を古いファイルと比較します。
  4. md5が異なる場合、ファイルが変更されました。

以下は、大きなファイルのmd5を取る機能です。

def md5(file_name): 

    # make a md5 hash object 
    hash_md5 = hashlib.md5() 

    # open file as binary and read only 
    with open(file_name, 'rb') as f: 
     i = 0 

     # read 4096 bytes at a time and take the md5 hash of it and add it to the hash total 
     # b converts string literal to bytes 
     for chunk in iter(lambda: f.read(4096), b''): 
      i += 1 

      # get sum of md5 hashes 
      # m.update(a); m.update(b) is equivalent to m.update(a+b) 
      hash_md5.update(chunk) 

     # check for correct number of iterations 
     file_size = os.path.getsize(file_name) 
     expected_i = int(math.ceil(float(file_size)/float(4096))) 
     correct_i = i == expected_i 

     # check if md5 correct 
     md5_chunk_file = hash_md5.hexdigest() 

    return md5_chunk_file 
関連する問題