async for submission in subreddit.top(subreddit):
if await client.memeCollection.find_one({'url': submission.url}):
print('Found already posted submission')
continue
else:
await client.memeCollection.insert_one({'subreddit': str(submission.subreddit), 'url': submission.url})
async for submission in subreddit1.top("day"):
if await client.memeCollection.find_one({'url': submission.url}):
print('Found already posted submission')
continue
else:
await client.memeCollection.insert_one({'subreddit': str(submission.subreddit), 'url': submission.url})
async for submission in subreddit2.top("day"):
if await client.memeCollection.find_one({'url': submission.url}):
print('Found already posted submission')
continue
else:
await client.memeCollection.insert_one({'subreddit': str(submission.subreddit), 'url': submission.url})
async for submission in subreddit3.top("day"):
if await client.memeCollection.find_one({'url': submission.url}):
print('Found already posted submission')
continue
else:
await client.memeCollection.insert_one({'subreddit': str(submission.subreddit), 'url': submission.url})
这是我目前为选定的子reddit下载模因的方法,我有不同的变量叫做subreddit1
-subreddit4
,每个子reddit都有不同的子reddit,
对于每个变量,我都有一个for
循环。
我试图把所有的值到数组,但subreddit没有一个.top
当它是一个数组,所以我不确定我怎么能绕过这个。
subreddit = ['memes', 'dankmemes', 'AdviceAnimals', 'MemeEconomy', 'ComedyCemetery', 'PrequelMemes',
'terriblefacebookmemes', 'PewdiepieSubmissions']
async for submission in subreddit.top(subreddit):
if await client.memeCollection.find_one({'url': submission.url}):
print('Found already posted submission')
continue
else:
await client.memeCollection.insert_one({'subreddit': str(submission.subreddit), 'url': submission.url})
为什么不在它之前使用一个简单的循环呢?*
topics = ['memes', 'dankmemes', 'AdviceAnimals', 'MemeEconomy', 'ComedyCemetery', 'PrequelMemes',
'terriblefacebookmemes', 'PewdiepieSubmissions']
for topic in topics: # <-- normal loop here 😅
async for submission in subreddit.top(topics):
if await client.memeCollection.find_one({'url': submission.url}):
print(f'Found already posted submission {topic}')
else:
await client.memeCollection.insert_one({'subreddit': str(submission.subreddit), 'url': submission.url})
subredditList = ['memes', 'dankmemes', 'AdviceAnimals', 'MemeEconomy', 'ComedyCemetery', 'PrequelMemes',
'terriblefacebookmemes', 'PewdiepieSubmissions']
newSublist = [await reddit.subreddit(x) for x in subredditList]
print(newSublist)
for x in newSublist:
async for submission in x.top('day'):
if await client.memeCollection.find_one({'url': submission.url}):
print('Found already posted submission')
continue
else:
await client.memeCollection.insert_one({'subreddit': str(submission.subreddit), 'url': submission.url})
必须创建一个新的列表并追加,然后在另一个循环中循环该列表以获得顶部,感谢指导!