如何在python中同时执行批处理请求?

2024-10-04 07:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用redditapi对一些subreddit进行投票。我想同时向上投票多个子reddit,使用praw库与redditapi交互。在

我想投票支持/r/bookclub的27个“热门”和“上升”职位:

subreddit = reddit.subreddit("bookclub")

for submission in subreddit.hot(limit=27):
    submission.upvote()

for submission in subreddit.rising(limit=27):
    submission.upvote()

我想使用异步或多处理来更快地完成这个任务。我使用了grequests库同时完成了所有.upvote(),目前还可以使用,但我不确定它是否真的更好:

^{pr2}$

两个版本都投票支持subreddit。我想知道的是,是否可以同时运行hot_upvotes和{}部分?在


Tags: insubmissionfor职位投票limit热门reddit
1条回答
网友
1楼 · 发布于 2024-10-04 07:33:51
from threading import Thread
import functools

subreddit = reddit.subreddit("bookclub")

def run_hot_upvotes(subreddit):
    hot_upvotes = (grequests.get(submission.upvote()) for submission in subreddit.hot(limit=27))
    grequests.map(hot_upvotes)

def run_rising_upvotes(subreddit):
    rising_upvotes = (grequests.get(submission.upvote()) for submission in subreddit.rising(limit=27))
    grequests.map(rising_upvotes)

Thread(target = functools.partial(run_rising_upvotes, subreddit)).start()
Thread(target = functools.partial(run_hot_upvotes, subreddit)).start()

尝试下面的方法让这两个程序同时运行,每个线程都在自己的线程中运行。在

相关问题 更多 >