クローラの不具合が直る
本当に長い間調査をし続けて、ようやくhappyouのクローラの不具合が治ったことを記念し、久しぶりにブログを書く。
今後、happyouをスケールアウトさせることを考えたとき、今のボトルネックは明らかにDB.細かな最適化をおこなったところで多寡が知れている。
(1)次はDBの垂直分割を行いたい。教科書的には、更新系と参照系にわけるのだろうがそれは参照の比率の高いWebシステムの場合。happyouのクローラは約1:1なわけだからあまり効果はないと思う。
(2) または適当なKVS。で、Valueがサイト丸ごと(おぉ)。その評価を行わなければならない。パフォーマンスは高くなくてもよいので、できるだけ少ないメモリで動かしたい。
目的は何で、妥協できる点はどこなのか?そこを明確にしなければならない。
自らを制約するものは何もない。 どんどんやらかそう。
サーバを増強しAPIの検索機能が軽くなりました。
happyou.infoは現在、クロールの規模を拡大するための諸々の作業を行っています。
そのためにまずAPIの検索を担当するサーバの増強を行いました。かなり軽くなりました(まぁ、これまでなぜここまで負荷をかけていたのかという問題があったのですが…)。 ずっと懸案であったので一つ荷が降りた気持ちです。
NASDAQ全銘柄のウェブサイトをスクレイピングする計画
FinalScraperの現状と今後
FinalScraperを発表してから1ヶ月位たったのでまとめておこうと思う。
- 動作はかなり安定していると思う。
- サービスを公開した本来の目的であるところの、「正しく検出できないパターンについてユーザさんにクレームを付けてもらう」が全く達成できていない。皆黙って使うだけ。うまく動かなければ黙って立ち去るだけ。どうにかならないか。
- 日本語URLがうまく処理できないようだ。直そう。例) http://www.fsight.jp/subcategory/無料 エンコードされていないURLが投げられた場合の処理。%E7%84%A1%E6%96%99
- そのサイトが元々RSSフィードを出力している場合、「元々そのサイトはこのRSSを出力していますよ」と結果表示に含めるべき。
- サーバの負荷が増えてきたらログイン必須にして上限を設ければ良い。
9/29日から発生していた障害についてのメモ
9/29日から上場企業と地方自治体のRSSフィードが更新できていませんでした。現在は修復されました。APIやFinalScraperに問題は発生していませんでした。
非公開のWebサーバに大量のリクエストがあり、エラーログによりディスクが100%消費されてしまったことが障害の理由かと思われます。
約2日間も落ちたことに気づかなかった点は反省。今後はエラーログを監視するスクリプトを入れることにします。
あらゆるウェブページをRSSに変換するサービスを公開しました
Final ScraperはRSSを出力しないウェブページをパターン解析し、RSSフィードを出力するサービスです。 ようやく安定して動作するようになりましたのでリリースしました。ご利用は無料です。
同様のサービスは他にも存在しますが、Final Scraperは独自のパターン認識プログラムによって、作成されるRSSフィードの品質を飛躍的に高めています。
以下の制限事項がございます。
- 大量のエントリーはブロックさせていただくことがございます。ご希望の場合は別途お問い合わせ下さい。
- ログインが必要なページはダウンロードすることが出来ません。
- 通信先のウェブサイトの設定によってはダウンロード出来ない場合がございます。お相手のウェブサイト様が望まないことは出来ません。
- 現在、4時間に一度のアクセスを行っています。最大4時間の遅れが生じることがあります。
- 生成されたRSSフィードに長期間アクセスのない場合は削除されます。アクセスできなくなった場合は再びトップページから生成を行って下さい。
- ウェブページのデザインや構造が変化した場合、RSSフィードが生成できなくなることがございます。RSSフィードの中にそのようなエラーメッセージが表示されている場合には、トップページからもう一度やり直して下さい。
happyou.infoのクローラはこのFinal Scraperを利用して更新情報を収集しています。