0

基本代码:

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 ...

我非常怀疑肯定不止这些。如果是,我怎样才能得到它们。如果请求被限制在一个时间窗口内。是否有一些解决方法可以让您睡觉然后获得更多?

C。我不知道它是否是像 twitter 这样的限制,而不是访问历史数据。尽管时期论点相反。还是不确定。

d.它返回一个生成器。我如何才能访问完整的提交文本和相关评论的文本。

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

4

2 回答 2

2

A:它正在寻找类似“3 个月前”的内容。(您可以从API 文档中看到一些信息。它必须是one of (hour, day, week, month, year, all).

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

C:我猜是B的答案。

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

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

for x in results:
    print x.selftext

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

于 2015-12-25T20:51:38.673 回答
1

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

因此,如果您想要更多结果,例如 100 个结果:

results=r.search('whatever', subreddit=None, sort=None, syntax=None, period=None, **limit=100**)

评论老问题:因为它可能会帮助其他人在未来寻找这个。

于 2016-09-22T00:40:37.547 回答