<h2>不幸的是,Reddit从他们的API中删除了这个函数</h2>
<p>查看<a href="https://praw.readthedocs.io/en/v6.0.0/package_info/change_log.html" rel="noreferrer">PRAW changelog</a>。版本6.0.0中的更改之一是:</p>
<blockquote>
<p><strong>Removed</strong></p>
<ul>
<li><code>Subreddit.submissions</code> as the API endpoint backing the method is no more. See
<a href="https://www.reddit.com/r/changelog/comments/7tus5f/update_to_search_api/" rel="noreferrer">https://www.reddit.com/r/changelog/comments/7tus5f/update_to_search_api/</a>.</li>
</ul>
</blockquote>
<p>链接帖子说Reddit正在为所有用户禁用Cloudsearch:</p>
<blockquote>
<p>Starting March 15, 2018 we’ll begin to gradually move API users over to the new search system. By end of March we expect to have moved everyone off and finally turn down the old system.</p>
</blockquote>
<p>PRAW的<a href="https://praw.readthedocs.io/en/v5.4.0/code_overview/models/subreddit.html#praw.models.Subreddit.submissions" rel="noreferrer">^{<cd1>}</a>使用Cloudsearch搜索给定时间戳之间的帖子。由于Cloudsearch已被删除,而替换它的搜索不支持时间戳搜索,<em>因此无法再使用PRAW或任何其他Reddit API客户端</em>执行基于时间戳的搜索。这包括尝试从subreddit获取所有帖子。在</p>
<p>有关详细信息,请参阅<a href="https://www.reddit.com/r/redditdev/comments/8bia9n/praw_psa_the_subredditsubmissions_method_no/" rel="noreferrer">this thread from /r/redditdev posted by the maintainer of PRAW</a>。在</p>
<hr/>
<h2>备选方案</h2>
<p>由于Reddit将所有列表限制在大约1000个条目,所以目前不可能使用它们的API获取subreddit中的所有帖子。但是,存在具有api的第三方数据集,例如<a href="https://pushshift.io" rel="noreferrer">pushshift.io</a>。作为/u/kungming2<a href="https://www.reddit.com/r/redditdev/comments/8bia9n/praw_psa_the_subredditsubmissions_method_no/dxd2b14/?context=1" rel="noreferrer">said on Reddit</a>:</p>
<blockquote>
<p>You can use Pushshift.io to still return data from defined time
periods by using their API:</p>
<pre><code>https://api.pushshift.io/reddit/submission/search/?after=1334426439&before=1339696839&sort_type=score&sort=desc&subreddit=translator
</code></pre>
<p>This, for example, allows you to parse submissions to r/translator
between 2012-04-14 and 2012-06-2014.</p>
</blockquote>