首页 > 解决方案 > 如何让用户决定他想运行多少线程/任务?

问题描述

我用 selenium 在 python 中编写了一个小 Sneaker-Bot,我已经完成了主要部分。我需要编程的最后两部分是,我如何让用户在一个文本文件中输入他的帐户的用户名和密码,或者我听说 json 文件也很好,我如何使用程序访问这些数据和最后,我如何让用户为每个线程创建具有特定用户名和密码的线程/任务。我希望你能理解我的英语,也许你下面有一些人可以帮助我完成最后一部分。

标签: pythonmultithreadingseleniumbots

解决方案


要从文件中获取用户名和密码,您可以使用:

f = open(path_to_file)
infolist = f.readlines()
f.close()

这将为文件中的每一行在列表中添加一个新项目,这意味着您只需将用户名和密码分别放在自己的行中。请小心,因为将密码放在文本文件中通常不是很安全,因此请确保您了解风险。

至于第二部分,我将创建一个可以使用 for 循环填充线程的列表,其范围由用户输入指定。然后在迭代期间,为“args”参数提供其任务所需的凭证列表的某些项目。下面的例子:

from threading import *

def spawnScraper(username, password):
    print(f'{username} and {password}')
    ## run the instance here

def main():
    #f = open(path_to_file)
    #infolist = f.readlines()
    #f.close()
    # ^ above code to retrieve data from file
    infolist = ['user1', 'pass1', 'user2', 'pass2']  # using for demonstration
    threadnum = int(input('num >>> '))

    threads = []  # create list to store threads

    for threaditem in range(threadnum):
        uname = infolist[threaditem*2]  # get information from infolist
        pword = infolist[threaditem*2+1]
        threads.append(Thread(target=spawnScraper, args=[uname, pword]))  # create thread
        threads[-1].start()  # start thread

main()

确保取消注释文件打开部分以实际集成到您的程序中。如果您有任何其他问题,请务必在下面发表评论。


推荐阅读