from InstagramAPI import InstagramAPI
import time
def getTotalFollowers(user_id):
followers = []
next_max_id = True
while next_max_id:
if next_max_id is True:
next_max_id = ''
_ = api.getUserFollowers(user_id, maxid=next_max_id)
followers.extend(api.LastJson.get('users', []))
next_max_id = api.LastJson.get('next_max_id', '')
return followers
if __name__ == "__main__":
#please enter your instagram username and password
api = InstagramAPI("username","password")
api.login()
user_id = 6839180758
start_time=time.time()
followers = api.getTotalFollowers(user_id)
print('Number of followers:', len(followers))
print("Follower details are : "+str(followers))
print("\n\nTotal time required : "+str(float(time.time())-float(start_time)))
当我尝试执行此代码时,我总共得到了274个关注者的处理时间约为3秒
任何人都可以将multiprocessing应用于它,以便可以快速执行此代码。大约274位关注者需要1秒
通过使用任何这些-
我只希望代码能够快速执行,您可以使用它执行任何操作。
Ps。我是python新手
import threading
import numpy as np
di=dict()
def getTotalFollowers(*user_ids):
for user_id in user_ids:
followers = []
next_max_id = True
while next_max_id:
if next_max_id is True:
next_max_id = ''
_ = api.getUserFollowers(user_id, maxid=next_max_id)
followers.extend(api.LastJson.get('users', []))
next_max_id = api.LastJson.get('next_max_id', '')
di[user_id]=followers
threads =[]
user_id=[user_id1,user_id2,...]
chunks = [i.tolist() for i in np.array_split(links, 10) if i.size>0] #10 threads
for lst in chunks:
threads.append(threading.Thread(target=getTotalFollowers, args=(lst)))
for x in threads:
x.start()
for x in threads:
x.join()
print(di)
这将创建10个线程,您可以在创建chunks
时控制这些线程>