2013-05-21 59 views
-1

我希望編寫一個簡單的腳本,將登錄到特定的網站(電子郵件作爲用戶名,無需PW)並檢查更改。如果有任何更改,我希望收到一封電子郵件通知,簡單地說明已有更新。理想情況下,這個腳本可能會每10分鐘運行一次。腳本登錄到網站,檢查更改和電子郵件,如果更改

因爲我不想讓我的筆記本電腦打開,所以我想我的Rasberry Pi(總是在和當前用於xbmc)應該在後臺運行腳本。

我見過很多腳本來檢查網站的變化,但沒有一個適合需要登錄但沒有密碼的senario。此外,在確定發生了變化之後,我不確定發送電子郵件部分的工作方式,我是否必須在Raspi上安裝電子郵件程序?基本上,我所做的一切/種類都知道Linux基礎知識以及如何使用cron來安排此腳本。

那麼,有沒有一個簡單的腳本可以做到這一點?提前致謝!

編輯:

登錄頁面的相關部分是

<form accept-charset="UTF-8" action="/booking/nanny_view/show" method="post"> 
    <div style="margin:0;padding:0;display:inline"> 
    <input name="utf8" type="hidden" value="&#x2713;" /> 
    <input name="authenticity_token" type="hidden" value="zH92kuR1rZAHqpfRUnrsB6Y9qRWJOZ46jnAao3xZOvA=" /> 
    </div> 
    <p> 
    Email Address: 
    <input id="search_email" name="search[email]" size="30" type="text" /> 
    <input name="commit" type="submit" value="Login" /> 
    </p> 
</form> 
+1

你在說什麼樣的登錄?表格/餅乾嗎? HTTP內置? –

+0

我不知道,網站是www.nanniesoncall.com/booking/nanny_view/show –

+0

我編輯登錄機制到問題 –

回答

0

開始在固定的時間腳本可以cron完成。

發佈您的郵件地址,網站有可能需要wget

wget --post-data='search[email][email protected]' www.nanniesoncall.com/booking/nanny_view/show 

(您可能需要發送的其他領域也一樣 - 特別是「authenticity_token」可能會導致你的麻煩。)

對於解析結果頁面,也許簡單的grep就足夠了。

對於更復雜的解決方案,請查看mechanize,這是一個用於perl,python和ruby的庫,它使發送數據和解析結果非常舒適。

+0

所以,腳本會像這樣:wget,grep來解析和比較以前的結果,然後$ echo「hello world」| mail -s「主題」[email protected]郵寄結果? 「發送其他字段」是什麼意思? –

+0

您的問題現在顯示網頁的相關部分。它顯示了一個包含一些元素的表單。每個元素都有一個名稱和一個值。這些名稱 - 值對通過發送請求發送到服務器。 'wget'完全發送這個post請求並返回服務器的答案。你需要爲自己測試有效的數據。 – michas

1

機械化比純粹的命令行工具容易得多。 這是一個基本的Ruby腳本檢查你的頁面:

require 'mechanize' 

page=Mechanize.new.get('http://www.nanniesoncall.com/booking/nanny_view/show') 
form=page.forms.first 
form["search[email]"]="[email protected]" 
result=form.submit 

puts result.at("#main") 

你可能有相適應的最後一行向您展示您所需要的信息。

+0

謝謝,我會檢查一下。我將不得不弄清楚如何通過電子郵件發送和檢查python中的更改部分。 –