问题标签 [praw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
324 浏览

python - PRAW:replace_more_comments() 的进度条?

我一直在使用 Python Reddit API Wrapper (PRAW) 从 Reddit 收集特定评论,我常用的功能之一是replace_more_comments()收集线程的所有评论。

其中一些线程非常大——例如 10,000 条评论——并且需要一段时间来收集所有评论。有没有办法显示进度条replace_more_comments()

这是一个最小的工作代码示例:

0 投票
1 回答
143 浏览

python - Python和PySide:从另一个文件调用函数时变量值重置

我一直在编写这个 python 脚本,它基本上通过 reddit 链接和你设置的特定变量来设置你的 Windows 壁纸背景,比如来自 hot/top all time/etc 的链接。我正在为它编写一个带有 PySide 的 GUI,目前我有 3 个文件。

当我运行 output.py 文件时,在 GUI 中设置值一切正常,值设置正常,但是当我单击开始按钮并且脚本执行(WallDit.py)并从 output.py 调用函数时变量值被重置为默认值(即我设置为“壁纸”,它被设置回默认的“壁纸+壁纸”)。

例如,当我从第一个文件调用此函数时,subreddit 行文本值被设置回默认值,而不是实际显示在 GUI 上的值:

调用函数代码:

注意:当我更改值时,比如 subreddit_name 行,信号被发送并输出正确的值,当从第一个文件调用函数时,问题就开始了。

更新:如果我在任何地方调用该函数,该值仍会重置为默认值

0 投票
1 回答
189 浏览

python - 如何在 PRAW 而不是生成器(Python 3.5)中返回原始评论数据?

我最近一直在摆弄 PRAW 模块和 Python 3 的 Reddit API。

我尝试的一件事是检索我帐户上的第一条评论并将其打印到控制台。我的代码是...

每次它只返回地址:

为了获取原始字符串数据(注释本身),我还尝试了 str()、漂亮打印,甚至将 str(comment) 导出到外部文本文件。什么都没有产生我想要达到的结果。

我是这个 API 的新手,所以尽量放轻松。我如何能够打印评论本身而不是地址,无论是打印到控制台还是文本文件?

0 投票
1 回答
49 浏览

python - 使用 List 时出现奇怪的循环行为

我在stackoverflow上做了一些研究,但找不到任何东西……也许是因为我真的不知道要找什么。我编写了一个脚本来将 reddit 评论(来自其中一个提交)添加到 wordpress。一切都很好,没有任何问题......但是循环中有一个奇怪的行为,我完全不明白。让我们从示例代码开始(它是名为“generuj”的函数的一部分):

上面的代码无关紧要,但我把它放在这里是为了更好地理解每次提交都有不同数量的评论,但不超过 200 .. 所以有时很少有 5 条,有时 184 条它们存储在 flat_comments 中

在这里,我删除了最长的评论并且它有效......所以此时一切仍然或至少看起来工作正常。然而噩梦从这里开始:

上面的代码是名为generuj的函数的一部分,它也在for循环中运行,该循环遍历每次提交(然后每次运行都会获得新的评论)以简化此代码运行函数:

我使用 del listaKomentarzy 来确保每次循环开始时它都是空的,所以我的问题如下:

脚本正在运行,一切正常......脚本正在打印每条评论(打印行),因为它应该是......但有时它不会。评论一定有什么奇怪的地方,有列表什么的,我不知道究竟是什么..我的第一个想法是python列表中可以存储多少评论是有限制的,但我发现可能有很多比我在 listaKomentarzy 中存储的要多(最多大约 200 个)。

我不知道我打破 for 循环的原因是什么。唯一改变的是评论。为了更好地解释它,我将向您展示示例。假设有 5 条投稿,第一个有 10 条评论,第二条有 20 条评论,第三条有 30 条评论,第四条有 40 条评论,第五条有 50 条评论,

我运行一个脚本,它从 submit1 加载 10 条评论并打印:comment1、comment2、comment3...comment10 然后代码确实清除 listaKomentarzy 中的评论列表,并加载 20 条评论并打印:comment1、comment2、comment3... .comment20 然后代码会清除并加载 30 条评论以进行提交 3,然后什么也没有发生(它甚至不打印一条评论)打破循环并加载 40 条评论的提交 4 并毫无问题地打印所有 40 条评论然后它加载 50 条评论的提交 5 和不打印就中断

(没有错误,服务器日志中没有信息)我不知道从哪里开始使用这段代码......有人可以帮忙吗?

0 投票
2 回答
1307 浏览

python - 使用 PRAW 或 R 的用户的子版块

如何使用 R 中的 python 或 RedditextractoR 包从 PRAW 获取 redditor 的子版块。

我正在使用这些评论使用 reddit 进行情绪分析,并且需要特定用户参与的子分类。

我在 R 中使用 RedditextractoR 包收到评论帖子和用户,但无法获得上述信息。

0 投票
3 回答
5802 浏览

python - 接收 UnicodeEncodeError 的 Python 脚本:“ascii”编解码器无法编码字符

我有一个简单的 Python 脚本,可以从 reddit 中提取帖子并在 Twitter 上发布。不幸的是,今晚它开始出现问题,我假设是因为 reddit 上某人的标题存在格式问题。我收到的错误是:

这是我的脚本:

任何帮助将不胜感激 - 在此先感谢!

0 投票
1 回答
167 浏览

reddit - 如何用 praw 浏览 Reddit 中的帖子

我一直在查看 praw 的文档,但我根本找不到用于查看所有帖子的方法。我想做的是浏览所有帖子

格式有点不对,我隔了4次粘贴,还是不行。

0 投票
1 回答
83 浏览

python - Python程序在程序启动时没有正确读取文本文件?

我一直在努力让这个程序正常工作。这是一个用于 reddit 机器人的程序,当您使用“snekpic”一词发表评论时,它会回复带有蛇图片的评论。最初,当它回复评论时,它会将评论 id 保存在列表中,这样它就不会多次回复评论。但这有一个小问题,因为每当程序重新启动时,它会以一个空列表重新开始,并且它会回复它已经回复过的所有评论。因此,我将评论 ID 保存到文本文件并读取文本文件,而不是列表。它似乎能够读取文本文件,因为它没有多次回复评论,但它与我之前遇到的问题相同。当我重新启动程序时,它会回复它已经回复的所有评论。所以出于某种原因,它在启动时没有正确读取文本文件。这是代码:

TagFinder 是一个单独的程序,它返回一个 url。我发现当你读取一个文件后,它会将读取的光标移动到文件的末尾,所以如果你想再次读取它,你必须使用seek(0)将光标移回开头。所以我放在语句seek(0)的开头with和每次读取或附加文件之后(我不确定附加是否会移动读取光标)。

这个程序实际上是针对高中编程课的,所以我寻求帮助,我的老师建议编写一个更简单的程序版本,看看是否可行。所以我写了下面的小程序

一切都很完美。它在启动时在文本文件中找到单词“corn”,并且每 3 秒一次,并且它还不断写入文件。既然这行得通,我真的很难过。我不知道在更大的程序中会出现什么问题。我愿意接受任何帮助或想法。

PS:很抱歉没有评论。我计划在程序正常运行后添加它们。如果有什么不清楚的地方,我很乐意解释。

0 投票
1 回答
366 浏览

reddit - 使用 PRAW 调用 Reddit API。需要帮助解释返回的创建日期时间

将鼠标悬停在“2 个月前提交”后,我可以在 reddit UI 上获取帖子的创建日期。

就我而言,我正在查看的帖子有这个日期时间:Fri Dec 18 02:06:06 2015 UTC

但是当我使用 praw 调用 reddit API 时,我在 created_utc 字段中得到了这个:1450404366.0

我无法将“Fri Dec 18 02:06:06 2015 UTC”翻译成“1450404366.0”

请帮忙!

0 投票
2 回答
3853 浏览

python - Praw:如何根据创建日期过滤搜索结果?

我想在后台运行一个脚本,它会每隔一小时左右获取 subreddit 数据。现在因为我不想在我的数据库中有重复的条目,我想根据 created_utc 过滤我的搜索结果

这是我目前拥有的:

这就是我想要的:

有什么方法可以实现这一目标?