Python版本:2.7
我正在尝试从Reddit用户检索帖子并将它们存储在python中的变量中。下面是我想要完成的一个例子。它应该从用户获得所有帖子。请注意,以下大多数代码,属性和命令都不正确;就在那里说明我的意图。
...
r = praw.Reddit(user_agent=user_agent)
uname : "/u/test"
count = r.get_total_amount_of_post(username=uname)
durl = "https://www.reddit.com/user/Sariel007"
m_data = [" "] * count
from a in range (0,count)
m_data[a] = " ".join(r.next(r.get_content(url=durl)))
...
我已经尝试了get_content和get_submission类,但似乎没有看到远程关闭。让我们说用户的第一篇文章标题是"你好"其数据为" 123456789 97635"。下一篇文章是#34;美好的一天"它的数据是" abc abc abc"。代码完成后,m_data应显示:
['123456789 97635','abc abc abc']
答案 0 :(得分:1)
完成此类操作的方法是阅读文档,并在运行代码时进行小而简单的更改。 https://praw.readthedocs.org/
尝试立刻写下整件事是不可能的。您需要先运行一个可以导入praw的程序,然后再创建一个praw对象,然后再创建一个可以获取用户的程序,依此类推。这里还有一些提示:
variable.__dict__
。此代码将执行您尝试执行的操作,为用户打印所有提交链接的自检:
from pprint import pprint
import praw
r = praw.Reddit(user_agent='praw_overflow')
user = r.get_redditor('Sariel007')
submissions = user.get_submitted()
self_texts = []
for link in submissions:
self_texts.append(link.selftext)
print self_texts
用户Sariel007最近没有任何自我发布,所以它现在只打印空字符串,但我在另一个用户上尝试了它并且它有效。
答案 1 :(得分:0)
已接受的答案不再起作用,因为get_redditor
中的get_submitted
和praw 6.0
已过时,因此这将是新代码:
reddit = praw.Reddit(client_id='', \
client_secret='', \
user_agent='', \
username='', \
password='')
user = reddit.redditor('Sariel007')
submissions = user.submissions.new(limit=None)
self_texts = []
for link in submissions:
self_texts.append(link.selftext)
print self_texts