[#47133] [ANN] ulmul-0.4.1 is released with ulmul2html5 and ulmul2xhtml — Takeshi NISHIMATSU <t_nissie@...>
西松と申します。
4 messages
2010/06/06
[#47158] [ANN] RubyKaigi 2010: PGP Keysigning Party — Urabe Shyouhei <shyouhei@...>
=1B$B$_$J$5$s$3$s$K$A$o!#=1B(B
5 messages
2010/06/15
[#47173] 小数点以下を切り捨てる方法について — "T.Soejima" <clev@...2.so-net.ne.jp>
お世話になっております。そえじま@勉強中です。
16 messages
2010/06/23
[#47174] Re: 小数点以下を切り捨てる方法について
— "NARUSE, Yui" <naruse@...>
2010/06/23
成瀬です。
[#47180] Re: 小数点以下を切り捨てる方法について
— "T.Soejima" <clev@...2.so-net.ne.jp>
2010/06/24
そえじま@勉強中です。
[#47182] Re: 小数点以下を切り捨てる方法について
— "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
2010/06/24
kなんとか、じゃない、きしもとです
[#47199] [ANN] RubyKaigi2010のライトニングトークスの応募フォームをオープンしました — SHIMADA Koji <snoozer.05@...>
日本Ruby会議2010実行委員のしまだです。
5 messages
2010/06/30
[ruby-list:47139] Re: 同じデータを引っ張ってしまう。
From:
"T.Soejima" <clev@...2.so-net.ne.jp>
Date:
2010-06-07 04:11:55 UTC
List:
ruby-list #47139
そえじま@勉強中です。
自己レス+追加の質問なんですが、以前のメールで投稿したソースをいろいろ
いじってみたのですが、どうも、1箇所気になるところがあります。
res = Amazon::Ecs.item_search($key,{
:search_index=>$idx, :response_group=>'Medium', :sort=>'salesrank',
:item_page=>page})
というような書き方をしているんですが、これはなんらかのハッシュの
リストをAmazon::Ecsに渡していると思うのですが、他のハッシュはリテラル
で確定しているのに、:item_page=>page だけは変数を渡しています。
別に仕様の問題ではないと思うのですが、400件を過ぎたあたりから、同じ
ページばかりを引っ張ってくるようになるので、:item_page がうまく変化
できていないんじゃないかという気がしています。
このような場合に、:item_page がちゃんと変化してくれているかどうか
を調べる方法はないでしょうか?
# puts "page = #{page}" を入れてみたところ、変数自体はちゃんと増加
していました。
そもそも、ハッシュの値に変数を渡すこと自体が間違っているのでしょうか?
ご教示、よろしくお願いいたします。
T.Soejima さんは書きました:
> お世話になります。そえじま@勉強中です。
>
> Amazonからデータを引っ張りながら、RubyとXMLなどについて
> 並行して勉強しています。
>
> 試しに下記のようなコードを書いてためしてみたのですが、ある程度
> の量をDBに落としたところから、常に同じデータしか引っ張らなく
> なってしまいます。
>
> アルゴリズムを勘違いしてるのだと思うのですが、何かヒントをいた
> だけないでしょうか?
>
>
> def get_page(page=1)
> res = Amazon::Ecs.item_search($key,{
> :search_index=>$idx, :response_group=>'Medium', :sort=>'salesrank',
> :item_page=>page})
> off = Amazon::Ecs.item_search($key,{
> :search_index=>$idx, :response_group=>'OfferSummary',
> :sort=>'salesrank', :item_page=>page})
> return res, off
> end
>
> db = SQLite3::Database.new( "bunko.db" )
> sql = "insert into test ( id, title, amount, real_price, used_price )
> values ( ?, ?, ?, ?, ? )"
>
> for i in (1..$pages)
> begin
> res,off = get_page(i)
> rescue => e
> p e
> retry
> else
> res.items.each{ |item|
> $title = item.get('title')
> $amount = item.get('amount')
> }
> off.items.each{ |item|
> $r_price = item.get('lowestnewprice/amount')
> $u_price = item.get('lowestusedprice/amount')
> }
> db.execute( sql, nil, $title, $amount, $r_price, $u_price )
> end
> end
> db.close
>
>
> retryを同じところで繰り返してるような気がするのですが、使い方が
> 間違っていますでしょうか?
>
> ご教示いただけると助かります。よろしくお願いいたします。
>
>
>
>
>
>
>