• ベストアンサー

RSSについて

プログラム初心者です 他のサイトのRSSを取得してMYSQLに保存する方法を教えてください やってみたのですが、RSSを取得して配列にするとこまではできました それを自動でMYSQLに登録する方法はありますか? $rssArray[]=array($date, $title, $link);//左から日付け、タイトル、リンクになります よろしくおねがいします

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

もう一度「基本コーディング」あたりのおさらいを。 PHPでデータベースに接続するときのまとめ http://qiita.com/mpyw/items/b00b72c5c95aac573b71 "自動で" というのが引っかかっているようですが、単に定期的にそのスクリプトを実行させればいいだけです。Linuxであれば標準で「cron」という機能が使えます。Windowsであれば適当なフリーソフトを導入してください。一応シンプル性を重視したツールを以前にVisualBasic言語を使って自作したことがあるのでダウンロードリンク貼っておきますねww SimpleCron ダウンロード http://www1.axfc.net/u/3196654 なおRSS取得部分に関しても、以下の点には気を付けてください。 ・正しくXMLとして読み込めたかどうかをチェックする ・並列処理でリクエストを送る 後者が特に重要です。逐次リクエストだと著しく実行速度が遅くなるので、ある程度束ねて並列で送ってしまったほうが合理的でしょう。 curl_multiでHTTP並列リクエストを行うサンプル http://qiita.com/Hiraku/items/1c67b51040246efb4254 そのままだと若干使いにくいので、こういうラッパークラスを作っておいてもいいかもしれません。 MultiRequest::get() や MultiRequest::post() をコールして使います。 cURLマルチリクエスト用簡易ラッパー http://bloggdgd.blog28.fc2.com/blog-entry-290.html INSERT文に関しては、IGNOREオプションを使うとユニークキーに重複があったときにエラーを出さずに無視してくれるので、今回の用途に向いていると思います。あらかじめ「date」「title」「link」でユニークキー制約を設定しておいてください。 【実装例】 http://pastebin.com/AsjSq1Mu 結局全部書いてしまいましたw

flash0
質問者

お礼

回答ありがとうございます 保存できました。これでrssを後で読むことができそうです。ありがとうございます

関連するQ&A

専門家に質問してみよう