0

我希望编写一个简单的脚本来登录到特定的网站(作为用户名的电子邮件,不需要密码)并检查更改。如果有任何更改,我希望收到一封电子邮件通知,简单说明有更新。理想情况下,该脚本会经常运行,可能每 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="&#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>
4

2 回答 2

1

机械化比纯命令行工具容易得多。这是一个检查页面的基本 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")

您可能必须修改最后一行以显示您需要的信息。

于 2013-05-22T16:00:31.613 回答
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​​ 库,它使发送数据和解析结果非常舒适。

于 2013-05-22T00:52:27.473 回答