【发布时间】:2020-08-13 12:52:55
【问题描述】:
我正在使用 Reddit 的 PRAW 来收集提交内容。我希望能够对提交的文本进行切片并将其保存到一个变量中,以与硬编码的数字进行比较,以删除每个提交的帖子,其数字大于其标题。
import praw
reddit = praw.Reddit(client_id = 'REDACTED',
client_secret = 'REDACTED',
username = 'REDACTED', password = 'REDACTED',
user_agent = 'REDACTED')
subreddit = reddit.subreddit('NumbersReddit')
new_numpost = subreddit.new(limit=10)
for submission in new_numpost :
if not submission.stickied:
print(50*'-')
print('User: {} '.format(submission.author))
print('Title: {}'.format(submission.title))
print('URL: {}'.format(submission.url))
使用上面的代码作为起点:删除粘贴的提交后,我想获取帖子标题的前两个字符(并且始终是 2 个数字,即 24)并将其与硬编码数字,例如 18,因此它会删除所有以大于 18 的数字开头的帖子。
以下应该是输出:
用户:Example1
标题:18 年了,我之前还没有意识到这一点
网址:https://www.reddit.com/r/NumbersReddit/comments/example1
用户:Example2
标题:我尝试了 18 次,但它是值得的
网址:https://www.reddit.com/r/NumbersReddit/comments/example2
用户:Example3
标题:18 人表示节食对他们来说就足够了
网址:https://www.reddit.com/r/NumbersReddit/comments/example3
修复
改变了这个:
for submission in new_numpost :
if not submission.stickied:
print(50*'-')
print('User: {} '.format(submission.author))
print('Title: {}'.format(submission.title))
print('URL: {}'.format(submission.url))
到这里:
for submission in new_numpost :
if not submission.stickied:
title_number = int(submission.title[:2])
if title_number < 25:
print(50*'-')
print('User: {} '.format(submission.author))
print('Title: {}'.format(submission.title))
print('URL: {}'.format(submission.url))
【问题讨论】:
-
所以你只是想找到标题的前两个字符?
-
是的。我查找了字符串切片,但无法使用我所拥有的。如果我可以对字符串进行切片并将其保存然后进行比较,那就太好了。
标签: python string slice reddit praw