Контролировать веб-страницу для текста - PullRequest
1 голос
/ 06 января 2011

У меня есть требование следить за определенной веб-страницей (https), открытой в моем браузере, продолжать обновлять страницу и воспроизводить сигнал тревоги, когда на веб-странице появляется определенная строка. Есть ли способ, которым я могу достичь этого.

Ответы [ 2 ]

1 голос
/ 06 января 2011

В какой операционной системе вы работаете?Если вы работаете в Unix, может быть лучше создать для него cronjob, чтобы у вас не было программы, постоянно загружающей память.Это особенно верно, если вы собираетесь следить за сайтом в течение нескольких дней или даже недель.

В этом случае самый простой способ сделать это - использовать скрипт оболочки, подобный следующему:

# Make $DONE an environment variable
url=...
your_string=...
file=
export url, your_string, file

if [$DONE]; then
    exit(1)
fi

wget $url > $file
if [grep $your_string $file]; then
    $DONE = 1
fi

Предостережение: и мое решение, и вышеприведенный плакат просто соответствуют html-строке для строки.Но это не гарантирует, что строка, если она найдена в html, появится в представлении веб-страницы.Возможно, он хранится в массиве JavaScript и выводится на экран только тогда, когда пользователь выбирает определенную опцию ... может быть, он был закомментирован ... есть много возможностей.В этих случаях вам придется выполнить более умное сопоставление, чем то, что я или человек из вышеизложенного предложили.

1 голос
/ 06 января 2011

Я думаю, что это можно сделать с помощью следующего кода C #.Сначала загрузите веб-страницу, затем проверьте, содержит ли загруженная веб-страница конкретную строку.

Существует множество руководств по воспроизведению звука в c #

while(true)
{
string webpage = DownloadWebpage("https://www.example.com");
if (webpage.Contains("particular string"))
{

// play warning sound!
break; // stop checking constantly
}
System.Threading.Thread.Sleep(60*1000); // 60 seconds between checking the webpage
}

Используйте эту функцию для загрузки веб-страницы

public static string DownloadWebpage(string url)
{
      HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(url);
      //WebRequestObject.UserAgent = ".NET Framework/3.5";
      webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7";
      //WebRequestObject.Referer = "http://www.aWebsite.com/";


      WebResponse response = webRequest.GetResponse();
      Stream responseStream = response.GetResponseStream();
      StreamReader reader = new StreamReader(responseStream);

      string content = reader.ReadToEnd();

       reader.Close();
       responseStream.Close();
       response.Close();
       return content;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...