我正在使用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的数字开头的文章
输出应为以下内容:
用户:示例1
标题:18年了,我以前从未意识到这一点
网址:https://www.reddit.com/r/NumbersReddit/comments/example1
用户:示例2
标题:我尝试了18次,但都是值得的
网址:https://www.reddit.com/r/NumbersReddit/comments/example2
用户:示例3
标题: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))
要获取任何字符串的前n个字符,请执行以下操作:
(假设您的标题是“18:你好!”)
结果:
因此,您可以在标题行上执行以下操作:
print('Title: {}'.format(submission.title[:2]))
假设里面有一根绳子
有了它,就可以将其转换为这样的整数(假设我们还没有对其进行切片):
然后你可以用int做任何你想要的比较
更新以进一步澄清答案:
您的完整标题似乎来自
submission.title
,因此您可以在此基础上创建两个变量: 一个名为title_number
的变量和另一个名为title
的变量,其中title_number = int(submission.title[:2])
和title = submission.title
,您所做的就是比较title_number
,如果它大于您得到的任何数字,则在for循环中打印title
,否则忽略它例如(假设submission.title为“18年,我以前从未意识到这点”)
应导致:
正在打印
相关问题 更多 >
编程相关推荐