在过去的两个月里,我试图获得所有的/r/politics帖子以及所有的评论和用户详细信息。我怎么用婴儿车做这件事?
我应该看看get_hot()的帖子吗?对怎么做有什么想法吗?有什么时间戳方法我可以利用吗?
发布于 2016-12-04 16:12:08
您可以使用云搜索语法在两个时间戳之间进行搜索。语法是:
timestamp:START_UNIX_TIMESTAMP..END_UNIX_TIMESTAMP如果您期望返回的条目少于1000个,那么只需要设置一个搜索就可以了。但是,搜索查询仅限于1000个请求,因此,如果比预期的帖子更多,则需要一些特殊的逻辑。
若要搜索过去两个月中的任何职位,请尝试:
import time
current_timestamp = time.time()
# 60 seconds * 60 minutes * 24 hours * 60 days = 2 months
two_months_timestamp = current_timestamp - (60 * 60 * 24 * 60)
query = 'timestamp:{}..{}'.format(current_timestamp, two_months_timestamp)
results = reddit.subreddit('test').search(query, sort='new')如果您需要获得1000以上,我建议获取搜索结果中最后一项的时间戳,然后存储时间戳并搜索timestamp:<current_timestamp>..<last_item_timestamp>并重复,直到没有更多的结果。
发布于 2017-11-28 10:21:37
我只想为任何使用PRAW 4+的人共享一个互补的解决方案,使用Subreddit.submissions方法,它非常适合在时间戳之间进行搜索。使用与接受的答案相同的代码片段:
import time
current_timestamp = time.time()
# 60 seconds * 60 minutes * 24 hours * 60 days = 2 months
two_months_timestamp = current_timestamp - (60 * 60 * 24 * 60)
results = reddit.subreddit('test').submissions(two_months_timestamp, current_timestamp)https://stackoverflow.com/questions/40960449
复制相似问题