2012-01-28 11 views
0

これはロングショットで、どこから始めたらいいのかわからないので書いています。ウェブサイトから日付を取得してカレンダーに入れる

私はthisウェブサイトの5つの日付を自動的かつ定期的に取得し、それらを私のiCalカレンダーに入れるコードを書きたいと思います。

どこから始めたらいいですか?

私はRoRとJavascriptにはかなり優れていますが、これを達成するためにどの技術を使用すべきかは全く考えていません。

あなたは私の質問にいくつかの光を当てることができますように。

おかげ

答えて

1

HTMLページが常に同じ基本構造を維持すると仮定すると、nokogiriのようなものを使用して日付を含むノードを見つけることができます。

Date.strptimeまたはDateTime.strptimeメソッドを使用して、特定の形式の日付を必要に応じてDateまたはDateTimeオブジェクトに変換できます。その後、自分のカレンダーに日付を追加するためとして

は、それは私がしなければならなかったしているものではないのですが、あなたはHow to interact with a CalDAV server from Ruby?

+0

私は今以上に行く必要があると思う。どうもありがとう :-) –

0

はあなたが必要とするページをダウンロードして、日付を解析するために、正規表現を使用するためにJavaScriptでXMLHttpRequestオブジェクトを使用します。日付はすべて固定フォーマットを持っているようだ:

<b>Mon Day Hr:Min UTC+4</b>

ので、このための正規表現を書くのは簡単でなければなりません。 Javascriptにこれを微調整が容易であるべきで、私は正確なJavascriptの正規表現の形式を知らないが、ここでの.NET同等だ - これが役に立てば幸い:

<b>(?<date>(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{2} [0-9]{2}:[0-9]{2}) UTC[+-][0-9]+</b>

これは、ページ内のすべての日付フィールドを見つけた - かつて日付フィールドがある場合、各正規表現の一致には実際の日付部分を含むサブグループdateがあります。

このページに行く場合:.NET Regex tester上記の式をテストして、日付がどのように返されるかを確認することができます。&は、日付とともにページのソースを貼り付けます。私が言ったように、これは.NET用であり、Javascript用ではありませんが、違いはあまり大きくありません。

+0

グレート...感謝をチェックアウトする場合があります。しかし、私はこのスクリプトを実行するたびにWebページに移動しなくてはなりませんか?または、何らかの形でスクリプトを自分自身にアップロードして、時折自分自身を呼び出させることができますか? –

0

Rubyスクリプトを使用します。 Mechanize宝石はウェブページから日付を掻き取ることができます。そして、あなたのカレンダーにri_cal gemを追加することができます。 xxbbccのような純粋なJavaScriptのアプローチが可能かもしれませんが、ほぼ確実にもっと複雑になります。あなたがすでにRubyに精通しているなら、私は「魔法」を利用して、これらの宝石をあなたのために汚い仕事にすることをお勧めします。

関連する問題