2011-01-06 11 views
1

ブラウザで特定のウェブページ(https)を開いて監視し、特定の文字列がウェブページに表示されたときにページをリフレッシュし、アラームを再生する必要があります。私がこれを達成できる方法はありますか?ウェブページのテキストのモニタ

+1

スクリプトを作成しますか?もしそうなら、どんな言語ですか? – codersarepeople

+0

はいスクリプトを書いています。最も簡単な方法は何ですか?私はログインを自動化するのではなく、開いているブラウザウィンドウを更新して検索したいだけです。 – Dubey

+0

正確なサイトと認証の種類についてもっと詳しく知る必要がありますが、カールとgrep(またはegrep)の組み合わせで十分でしょう。あなたはcrontab/windowsタスクでそれをラップするか、単にコンソールウィンドウをそれに専念させます。 – kvista

答えて

1

これは、次のC#コードの一部で実行できると思います。まず、Webページをダウンロードし、ダウンロードしたWebページに特定の文字列が含まれているかどうかを確認します。

サウンドを再生する方法についてのチュートリアルの多くは、どのオペレーティングシステムが

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 
} 

Webページをダウンロードするにはこの機能を使用

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; 
    } 
1

C#であり、あなたがオンになっていますか?あなたが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で見つかると、Webページのプレゼンテーションに表示されることを保証するものではありません。おそらく、それはJavaScript配列に格納され、ユーザーが特定のオプションを選択したときにのみ画面に表示されます...おそらく、コメントアウトされています...可能性のすべての種類があります。このような場合は、私または上記の人が示唆しているものよりもスマートなマッチングを行う必要があります。

関連する問題