2016-08-25 12 views
0

私は、この検索に問題がある:reddit cloudsearchがタイムスタンプ検索で間違った結果を返すのはなぜですか?

list(r.search('timestamp:{}..{}'.format(ts1,ts2), sort='new', subreddit=subreddit, syntax='cloudsearch',limit=None)) 

それを取得〜ts2

にタイムスタンプts1から(私の場合subreddit作成時間内)1000回の最新の投稿何を私のスクリプトがすることです:

  1. 最新の投稿を送信
  2. 2番目に新しい投稿を作成し、ts2
  3. に設定してください
  4. は、最初の検索の後、私は提出1,2,3,4,5,6,7,8,9を得た場合は、新しいタイムスタンプで

を検索を行い、その後、私は3,4,5,6,7,8,9を得ることを期待秒の後に、残念ながら私はそれらを得るが、7,8,9ような何かを得ることはありません。どんな考え?

以下は私のスクリプトとサンプルの結果です。

結果:

t3_4zh8zw, 1472107937.0 
t3_4zgl1n, 1472096403.0 
t3_4zgf34, 1472093883.0 
t3_4zg8de, 1472091260.0 
t3_4zfzun, 1472087983.0 
t3_4zfysv, 1472087571.0 
t3_4zf8hg, 1472077921.0 
t3_4zf7g6, 1472077542.0 
t3_4zf4p5, 1472076595.0 
t3_4zf0d7, 1472075090.0 
t3_4zeqeg, 1472071708.0 
t3_4zeomz, 1472071134.0 
t3_4zebse, 1472066994.0 
t3_4zduso, 1472061376.0 
t3_4zdtne, 1472061014.0 
####################### 
t3_4zebse, 1472066994.0 
t3_4zduso, 1472061376.0 
t3_4zdtne, 1472061014.0 
t3_4zdipi, 1472057168.0 
t3_4zdfj3, 1472056078.0 
t3_4zd4v3, 1472052437.0 
t3_4zd0l5, 1472051081.0 
t3_4zctiu, 1472048701.0 
t3_4zazqj, 1472016633.0 
t3_4zawm3, 1472015079.0 
t3_4zavyc, 1472014757.0 
t3_4za5hb, 1472003960.0 
t3_4z9ydt, 1472001398.0 
t3_4z9xhx, 1472001065.0 
t3_4z9ufa, 1471999935.0 

スクリプト:限り、私はあなたがcreated_utcを使うべきではありません収集できるようcloudsearchについては

import praw 
import time 

user_agent = 'clodsearch-timestamp test' 
r = praw.Reddit(user_agent=user_agent) 

subreddit = r.get_subreddit('laptops') 

ts1 = int(subreddit.created_utc)-1 
ts2 = int(time.time()) 

submissions = list(r.search('timestamp:{}..{}'.format(ts1,ts2), sort='new', subreddit=subreddit, syntax='cloudsearch',limit=None)) 

for submission in submissions[:15]: 
    print("{}, {}".format(submission.fullname, submission.created_utc)) 

ts2 = int(submissions[1].created_utc) - 1 

print('#######################') 

submissions = list(r.search('timestamp:{}..{}'.format(ts1,ts2), sort='new', subreddit=subreddit, syntax='cloudsearch',limit=None)) 

for submission in submissions[:15]: 
    print("{}, {}".format(submission.fullname, submission.created_utc)) 

答えて

1

submission.created_utcsubmission.createdに変更すると、必要な動作が得られます。

これは、epochtimeを直接使用するcloudsearchによるものです。それをUTCまたはGMTに変換する必要はありません。そうすることで、タイムゾーンによって異なる効果が得られます。

関連する問題