Reddit Praw Api用于搜索提交内容

时间:2015-06-20 08:48:36

标签: python reddit praw

  

基本代码:

import praw
r = praw.Reddit(user_agent='Getting the data!!')
r.login("username","password",disable_warning=True)
results=r.search('whatever', subreddit=None, sort=None, syntax=None, period=None)
for x in results:
    print x

我希望编写一个代码来获取所有提交内容及其相关评论。提交应受搜索查询和时间段的约束。

  

我面临的问题是:

一个。我无法理解如何在上面指定句点,文档往往很差

湾我不知道结果是否受限制。上面的代码产生:

923 :: Reddit, type with whatever is on your mind no matter how insignificant...
5598 :: Google maps should have a "on the way" feature to find the most conve...
3961 :: LPT: If you're overheating for whatever reason, run your wrists under...
1556 :: As a lad, whenever my mother wanted me to do something and I was play...
5085 :: "THE ENTIRE STATE IS OFFLINE GET IN THERE NOW FIX IT DO WHATEVER IT T...
1259 :: Heyy, I do the webcomic "Subnormality," as well as artwork for Cracke...
604 :: IAMA Professional YouTuber.  Whatever that means... AMA is you'd like
1156 :: [Spoiler] Whatever happened to G2 vs Strix it's an absolute joke
1217 :: Yesterday I ate whatever I wanted and learned something
1291 :: LPT: Set Your Plugins (Flash, etc.) to be activated only with your cl...
1544 :: Whatever you do, don't step on a duck.
1301 :: A diner in Vegas called "Roulette Burger" where each booth has a roul...
649 :: Been trying to establish a very simply basic wardrobe. Not too preppy ...
1141 :: Mods no longer give a shit, post whatever : New Wow expansion doesn't...
549 :: Whatever happened to chatrooms?
212 :: IAmA graphic designer who will spend 5 mins on whatever you want.
673 :: AMA. Hi there, I'm David Ury, I played Spooge in season 2. Please ask ...
0 :: "Whatever they're going to blame on Osama Bin Laden... don't you even be...
3 :: Dinner time! 1/4/15 or 4/1/15 (whatever works)
536 :: Friendly reminder: If you've been given gold, it's perfectly within yo...
378 :: KP, Keratosis Pillaris, "Chicken skin" - whatever you call it, please ...
637 :: [WP]What if we lived in a world where whatever you did to other people...
1053 :: Instead of a gym, have a place where people can go build wood pallets...
69 :: Pick whatever you want Giveaway!
408 :: Just a reminder to newbies. you don't have to buy a whole bitcoin for ...

我非常怀疑必须有更多这个。如果是,我怎样才能得到它们。如果请求被约束到时间窗口。是否有一些解决方法可以睡觉然后获得更多?

℃。我不知道是不是像twitter这样的限制而不是访问历史数据。虽然周期论证反过来说。仍然不确定。

d。它返回一个生成器。如何访问完整的提交文本和相关评论'文本也是如此。

很抱歉,如果它看起来有点间接,但缺乏在线示例和缺乏适当的文档导致面临这些问题。

2 个答案:

答案 0 :(得分:2)

答:它正在寻找类似于3个月前的事情'。 (您可以看到API Documentation中的一些信息。它必须是one of (hour, day, week, month, year, all)

B:它受到限制,最多可返回1000个结果。可能有办法解决这个问题,但我不确定它们是什么,或者它们有多容易。

C:我猜是B的答案。

D:您正在查找提交的属性,您可以通过属性访问这些属性(例如object.attribute)。您可以在this page上查看提交的完整属性列表。

因此,如果您想访问带有链接的自我文字,您必须执行以下操作:

for x in results:
    print x.selftext

但是,如果您想获得评论,那些不是对象的一部分。您需要获取提交ID,然后查询提交本身以获取评论。

答案 1 :(得分:1)

默认限制为25,除非在搜索参数中指定了另一个数字。

因此,如果您想要更多结果,例如100个结果: results = r.search('whatever',subreddit = None,sort = None,syntax = None,period = None, limit = 100

评论旧问题: 因为它可能会帮助将来寻找这个的人。