2011-02-15 51 views
1

我是一個相對較新的編碼器,並已逛了一下就到這裏,並在谷歌前問搜索,但我已經想出空。可能會刷新網站,直到用Javascript更改?

我想知道是否有創造的Javascript說腳本的方式,並將它刷新頁面,直到有頁面上的變化通過輸入頁面爲一個字符串。

東西線沿線的(原諒索迪僞代碼,但我知道有些功能需要解決此寫入):

Start 

currentPage = webclient.getPage("www.somesite.com") 
boolean diff = false 
string pageText = currentPage.astext() 

do { 
    currentPage.refresh() 
} until (currentPage.astext() != pageText) 

string alert = "Change Found" 
string address = "[email protected]" 
e-mail(address,alert) 

END 

感謝所有幫助任何人都可以提供這個新的編碼器:)

+3

我不知道要得到完全你想要什麼,但看起來JavaScript並不是你需要的語言。你最好使用PHP或Perl,JavaScript不能發送郵件。 – BiAiB 2011-02-15 17:05:13

回答

1

PHP似乎更適合這種操作。這裏是我會做什麼:

  • 抓取網頁內容與捲曲
  • 等一等(如1分鐘)*
  • 抓取網頁內容再一次
  • 比較兩者的頁面內容
  • Ë郵件,如果有變化,無論如何開始

*你不想刷新頁面,因爲你的僞代碼,因爲你的腳本會吃很多bandwidt h,並且很可能會讓您的目標網站飽和。

你需要的代碼示例?

編輯
這裏是我工作的PHP腳本:

<?php 
//////////////// 
// Parameters // 
//////////////// 
$url = 'http://www.example.com'; 
$sleepyTime = 60; // seconds 
$recipient = '[email protected]'; 
$subject = 'Change found'; 
$message = 'Change found in ' . $url; 

//////////////// 
// Functions // 
//////////////// 
function fetchWebsiteContent($url) { 
    // init curl handle 
    $ch = curl_init($url); 

    // Tells curl to return the content 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    // fetch content 
    $res = curl_exec($ch); 

    // close handle and return content 
    curl_close($ch); 
    return $res; 
} 

//////////////////// 
// The comparison // 
//////////////////// 
$firstContent = fetchWebsiteContent($url); 

// This is an endless checking scope 
while (1) { 
    // sleep a bit and fetch website content again 
    sleep($sleepytime); 
    $secondContent = fetchWebsiteContent($url); 

    // check if change occured 
    if ($firstContent == $secondContent) { 
     mail($recipient, $subject, $message); 
    } 

    $firstContent = $secondContent; 
} 
?> 

幫助ressources:
cURL manual
mail manual

希望你喜歡它;)

+0

謝謝各位男士,感謝您對羽翼未豐的先行者的幫助!另外一個代碼示例會讓我很開心! 並且關於刷新率,我的負載測試工作一個網站,目的是不要讓用戶進入站點,直到有人從另一端,用戶將達到超時,直到進入系統。我是新來的這個項目和一個相對較新的編碼器,所以我想自動化我們如何測試它以貢獻更多! :) – 2011-02-16 10:02:08

相關問題