ちなみに、私は NARUTO のファンなので、毎週水曜日に必ず Web ページを更新して NARUTO の更新を待っています。その後、毎日不定期更新される連載小説にハマってしまい、F5が壊れそうになる毎日でした。 F5が悪いのは構わないが、そんなところで貴重な時間を無駄にできるのか>_
世界を救える技術オタクとして、連載のせいで日夜苦しむことを避けるためには、当然、何かをしなければなりません >_< はい、マシンに更新を自動的に検出させてください。したがって、シリアル ディレクトリの内容を定期的に読み取るプログラムを作成するだけで、更新が検出された場合に、シリアルを読むよう通知する電子メールが QQ メールボックスに自動的に送信されます Y^o^Y
。まず、問題を単純化してみましょう。上記の解決プログラムは次の部分に分割できます。
以下は技術的な解決策の簡単な説明です。結局のところ、プログラムが行うことは非常に単純であり、魔法のコードはありません
。
スケジュールされた実行 - crontabりー
シリアルディレクトリの内容を読み取る
ダウンロードページ
私はPHPのcurlライブラリを使用しています。興味があれば、ご自身で学習してください。
Web ページのコンテンツを分析する - 正規表現
私たちにとって、シリアル ディレクトリは実際には、href 属性値が「/naruto/xxx」である HTML ドキュメント内の 要素です。
ダウンロードした HTML コードに対して単純なパターン マッチングを使用してテキスト フィルタリングを実行する限り、シリアル ディレクトリの内容を取得できます。これには正規表現の使用も最適であると考えてください。先ほどの Web ページを例に挙げると、次の正規表現を使用してシリアル ディレクトリを大まかにフィルタリングできます:
りー
使用する正規表現が異なるため、この正規表現はユーザーが設定する必要があります。
PHP では、PHP PCRE 関数で preg
matchall 関数を使用できます。 アップデートがあるか確認してください
履歴データの保存については、ファイルを使用するだけです。これを少し手間をかけて実行するために、MySQL データベースを使用しました。
メールを送信 - PHPMailer
私は送信者として QQ メールを使用しています。注意する必要があるのは、この QQ メールは SMTP サービスを有効にする必要があるということです。
エフェクトのデモとコードのダウンロード
受信したリマインダーメールの内容も非常にシンプルですが、空でも構いませんが、シリアルディレクトリへのリンクを添付するのが最善です。
コードは svn を使用してチェックアウトできます:
りー
これには、個人的な学習プロセスで蓄積されたトピックとはまったく関係のないコードが含まれていますが、真剣に読みたい人はいないと思います。本当に読みたい場合は、phplearn/ からダウンロードできます。 apps/seriesupdate_reminder/check.php フォローしてください。コードを詳しく読むことは実際にはお勧めできません。実際、最も重要な内容は「技術概要」セクションで説明されているアイデアだと思います (コードはあまりにも醜いので、作成しないでください)。一般)