我希望写一个简单的脚本,它将登录到特定的网站(电子邮件作为用户名,不需要pw)并检查更改。如果有任何更改,我希望收到一封电子邮件通知,只是说明有更新。理想情况下,这个脚本会经常运行,可能每10分钟运行一次。
由于我不想让我的笔记本电脑打开,因此我认为我的Rasberry Pi(始终打开并且当前用于xbmc)应该在后台运行脚本。
我看过很多脚本来检查网站的变化,但是没有一个脚本适合需要登录但没有密码的情况。此外,在确定发生了变化后,我不确定发送电子邮件部分是如何工作的,我是否必须在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="✓" />
<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>
答案 0 :(得分:1)
Mechanize比纯命令行工具容易得多。 以下是检查页面的基本ruby脚本:
require 'mechanize'
page=Mechanize.new.get('http://www.nanniesoncall.com/booking/nanny_view/show')
form=page.forms.first
form["search[email]"]="me@foo.com"
result=form.submit
puts result.at("#main")
您可能需要调整最后一行以向您显示所需的信息。
答案 1 :(得分:0)
可以使用cron
。
使用wget
:
wget --post-data='search[email]=me@foo.com' www.nanniesoncall.com/booking/nanny_view/show
(您可能还需要发送其他字段。 - 尤其是“authenticity_token”可能会给您带来麻烦。)
对于解析结果页面,可能只需要一个简单的grep
即可。
对于更复杂的解决方案,请查看mechanize
,perl,python和ruby的库,这使得发送数据和解析结果非常舒适。