Python PRAW包装器,逻辑问题
我的目标是从Reddit中获取顶级提交,将其附加到一个数组中,然后获取第二个顶级提交,第三个、第四个,等等。我使用place_holder获取下一个提交,第一次有效,但只是一次又一次地循环获取相同的第二个提交 电流输出为Python PRAW包装器,逻辑问题,python,api,if-statement,while-loop,reddit,Python,Api,If Statement,While Loop,Reddit,我的目标是从Reddit中获取顶级提交,将其附加到一个数组中,然后获取第二个顶级提交,第三个、第四个,等等。我使用place_holder获取下一个提交,第一次有效,但只是一次又一次地循环获取相同的第二个提交 电流输出为 帖子1 帖子2 帖子2 等 当我希望输出为 帖子1 帖子2 帖子3 帖子4 等 这是我的密码: import praw, time r = praw.Reddit(user_agent='ADNPost') already_done = [] while True:
帖子1
帖子2
帖子2
等 当我希望输出为
帖子1
帖子2
帖子3
帖子4
等 这是我的密码:
import praw, time
r = praw.Reddit(user_agent='ADNPost')
already_done = []
while True:
for submission in r.get_top(limit=1):
id = submission.id
title = submission.title
url = submission.short_link
save_state = (id)
if id not in already_done:
already_done.append(submission.id)
post = title + " | " + url
print post
print save_state
if id in already_done:
for submission in r.get_front_page(limit=1, place_holder=submission.id):
id = submission.id
title = submission.title
url = submission.short_link
print title, url
save_state = (id)
already_done.append(submission.id)
time.sleep(2)
您忘记了时间。请按照reddit策略睡眠 为了提高效率,我把已经完成的工作换成了一套 基本思想是在提交已经完成的情况下获得新的提交
import praw, time
r = praw.Reddit(user_agent='ADNPost')
already_done = set()
while True:
l = r.get_top(limit=1)
submission = next(l,None)
if not submission:
continue
while submission.id in already_done:
submission=next(r.get_front_page(limit=1, params={'after':submission.fullname}),None)
if not submission:
break
if submission:
id = submission.id
title = submission.title
url = submission.short_link
print (title, url)
save_state = (id)
already_done.add(submission.id)
time.sleep(2)
编辑:测试的占位符不是您想要的(“t3”是一个看起来有效的常数)
编辑2:根据@bboe建议,将“t3_”+submission.id替换为submission.fullname您忘记了时间。请睡眠以遵守reddit策略 为了提高效率,我把已经完成的工作换成了一套 基本思想是在提交已经完成的情况下获得新的提交
import praw, time
r = praw.Reddit(user_agent='ADNPost')
already_done = set()
while True:
l = r.get_top(limit=1)
submission = next(l,None)
if not submission:
continue
while submission.id in already_done:
submission=next(r.get_front_page(limit=1, params={'after':submission.fullname}),None)
if not submission:
break
if submission:
id = submission.id
title = submission.title
url = submission.short_link
print (title, url)
save_state = (id)
already_done.add(submission.id)
time.sleep(2)
编辑:测试的占位符不是您想要的(“t3”是一个看起来有效的常数)
编辑2:根据@bboe提议将“t3_uu“+submission.id”替换为submission.fullname
时间。使用PRAW时不需要睡眠。此外,
之后的也不是您想要用来获得“更新”或“更高”的内容物品。before
适用于此。谢谢!这正是我想要的!时间。使用PRAW时不需要睡眠。before
也不是你想要用来获取“更新”或“更高”物品的。before
适用于此。谢谢!这正是我想要的!