簡體   English   中英

如何監控網站的變化?

[英]How to monitor changes in a website?

所以我已經在這個工作了一個月,但我在網上什么都沒發現,所以我覺得每分鍾檢查一下網站源代碼的變化是可能的,但似乎它的源代碼每秒都在變化,所以有沒有我的編碼問題還是有其他方法來監控網站的變化?

這是我的代碼:

private void Startbtn_Click(object sender, EventArgs e)
   {

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com");                            
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader source = new StreamReader(response.GetResponseStream());
richTextBox1.Text = source.ReadToEnd();
timer1.Start();
timer1.Interval = 60000;

     }

private void timer1_Tick(object sender, EventArgs e)
    {

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        StreamReader source2 = new StreamReader(response.GetResponseStream());
        RichTextBox checker = new RichTextBox();
        checker.Text = source2.ReadToEnd();
        if (richTextBox1.Text == "")
        {
            richTextBox1.Text = checker.Text;

        }
        else
        {


            if (richTextBox1.Text != checker.Text)
            {
                MessageBox.Show("somthing changed");
                richTextBox1.Text = checker.Text;
            }
            else
            {
                MessageBox.Show("No changes yet!");

            }
        }
    }

首先,我建議在必須將頁面的實際內容與存儲的版本進行比較時:

  1. 將您存儲的MD5哈希值與新哈希值的哈希值進行比較(不是每次都是內容)
  2. 請記住,頁面中存在更改元素,您可能不會將其視為頁面內容更改...

一些服務器將返回Last-Modified標頭,您可以使用它來進行比較。

您已將計時器間隔設置為5000毫秒,這使其僅為5秒。 所以你的代碼將每5秒運行一次。 如果要每分鍾運行一次計時器,則應將其設置為1000x60 = 60000 ms。 我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM