首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时使用多个帐户和selenium+requests实例

同时使用多个帐户和selenium+requests实例
EN

Stack Overflow用户
提问于 2018-10-06 22:06:36
回答 1查看 1.7K关注 0票数 0
代码语言:javascript
复制
from selenium import webdriver
import requests


driver = webdriver.Chrome()

#login to website using selenium and get cookies

cookievar = driver.get_cookies()


#send requests using cookies scraped from selenium webdriver

r = post(url, formData, headers=headers0, proxies=proxies, verify=False)

我的代码对于一个帐户很好,但现在我希望它能够处理多个帐户,这个脚本一次只能运行一个帐户,我试图获得的是同时使用webdriver和请求运行3-4个帐户。

有人能帮忙吗?欢迎提出建议谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-08 06:02:51

这是我在评论中所想的,但它只是一个演示。除了multiprocessingthreading,您可以尝试concurrent.futures

代码语言:javascript
复制
from selenium import webdriver
import requests
from multiprocessing import Pool

driver = webdriver.Chrome()
clist = {}
#login to website using selenium and get cookies

def relogin(user,pwd):
    ...
    cookievar = driver.get_cookies()
    clist[user] = cookievar
    ...
    driver.delete_all_cookies()

userlist = [("userA","pwdA"),("userB","pwdB")]

for user,pwd in userlist:
    relogin(user,pwd)

driver.close()

#send requests using cookies scraped from selenium webdriver
def post_data(url,formData,proxies,headers = headers0):
    r = post(url, formData, headers=headers, proxies=proxies, verify=False)
    ...

def start(number=len(userlist)):
    p = Pool(number)
    result = p.map_async(post_data , [(url,formData,proxies),
                            (url2,formData2,proxies2,headers2)])
    print(result.get())

if __name__ == '__main__':
    start()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52683737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档