我有要求監視瀏覽器中打開的某個網頁(https),在網頁上出現特定字符串時,不斷刷新頁面併發出警報。有什麼辦法可以做到這一點嗎?監視文本的網頁
Q
監視文本的網頁
1
A
回答
1
我認爲這可以用下面的一些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;
}
1
什麼操作系統是你嗎?如果你在Unix上,最好爲它創建一個cronjob,這樣你就沒有一個程序不斷地佔用內存。如果您要監控網站幾天甚至幾周,情況尤其如此。
在這種情況下,這樣做會像下面這樣的shell腳本的最簡單的方法:
# 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. 監視文件的網絡文件夾
- 2. PHP:監視文本文件的更改
- 3. 監視本地網絡流量問題
- 4. Perl腳本動態監控網頁
- 5. 爲頁監視器
- 6. 監視網絡共享文件夾
- 7. 將網頁文本放入文本視圖(Android)
- 8. 如何監視我的Azure角色上的網頁點擊
- 9. Java網絡監視器
- 10. 免費網絡監視器
- 11. 編程監控網頁
- 12. 網頁監控問題
- 13. 監測網頁加載
- 14. 監控網頁訪問
- 15. 用於監視網頁更改的.NET服務
- 16. 監視器文件
- 17. Autosys中的文件監視
- 18. 監視的文件夾
- 19. 監視文件的更改
- 20. 從網頁到文本文件的Python網頁搜索列表
- 21. 從文本視圖中的不同文本打開網頁鏈接
- 22. 監視php腳本執行
- 23. 在網頁上實現監視功能(HTML)
- 24. 網絡監視器的侷限性
- 25. 使用libcurl監視網絡的狀態
- 26. 網頁的視頻
- 27. 監控網頁中的特定字段
- 28. 從網頁抓取文本
- 29. Redgate SQL監視器基本監視器權限
- 30. 如何監視文本文件並不斷輸出文本框中的內容
你想寫一個腳本嗎?如果是這樣,什麼語言? – codersarepeople 2011-01-06 00:40:26
是的,我想寫一個腳本。什麼是最簡單的方法?我不想自動登錄,只想刷新並搜索打開的瀏覽器窗口。 – Dubey 2011-01-06 00:41:48
我們需要關於確切站點和認證類型的更多信息,但curl和grep(或egrep)的組合可能就足夠了。你甚至可以把它包裝在crontab/windows任務中,或者直接把一個控制檯窗口放在它上面。 – kvista 2011-01-06 00:52:44