Yahoo!ニュースのコメント欄の一覧化サイト作成

スポンサーリンク
スポンサーリンク

2010年12月12日(日) Yahoo!ニュースのコメント欄の一覧化

Pythonを内部で使って新しいWebサービスを作りました。

 
 

Yahoo!ニュースのコメントランキング
Yahoo!ニュースに投稿されたユーザコメントの総数、「私もそう思う」「私はそう思わない」の点数をランキングにしています。支持される発言・過激/酷い/うざいといわれている発言の多いユーザが一目で分かります。毎日更新。

 
 

Yahoo!ニュースにコメントしたユーザの「私もそう思う」や「私はそう思わない」ボタンの点数をランキングにしています。

来週には広く公開しないとね。。

 
 

完全に自動化されて日々データベースが膨大になっています。

Yahoo!に作られたら一瞬で終了だね。。

2010年12月1日(水) スレッドで高速化 by Python

PythonでHTMLパースを行うと、3000件のURLの読み込みに50分程度かかりました・・・

最終的には、3万件ぐらいのHTMLパースをcronで行う予定なので、ありえない処理時間になりそうです・・・

 
 

まずは、他のライブラリを使って高速化を検討

  • urllib
  • urllib2
  • httplib
  • 一からsock通信を実装

測定してみたが、情報をまとめるほどの時間差は発生せず・・・

 
 

同期に質問した結果「スレッド」を利用する結論になりました。まぁそうだろうね。

下記がWebで見つけたサンプルです。

 
 

サンプルの紹介サイトでは、スレッド利用なしが「2秒」、スレッド利用で「0.9秒」と書かれています。

 
 

自サーバでは、スレッド数の最適数はいくつか・・・と思って計測してみた。



 
約「4000」件のHTMLサイトを取得した、処理時間とURL取得失敗数の関係図(Python 2.6を利用)

 

なぜか、スレッド数を増やすとURLのopen/readの失敗率が上がります。

HTTP ERRORの「404 Not Found」なんだよね、、サーバ側が弾いているのかな・・・?

2010年11月27日(土) PHPの関数って豊富なのね・・・今更

PHPでCSVファイルを読み込み、ある列でソートしようとしたい。

ファイルを読み込み「,」で分離して・・・・さてどうしようか。。

 
 

と思ったら、「fgetcsv」関数と「usort」関数や「array_multisort」関数がありました。

これらの関数を全く知らなかった。PHP4の時代からあるし・・・(泣)

タイトルとURLをコピーしました