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个帐户。
有人能帮忙吗?欢迎提出建议谢谢
发布于 2018-10-08 06:02:51
这是我在评论中所想的,但它只是一个演示。除了multiprocessing,threading,您可以尝试concurrent.futures。
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()https://stackoverflow.com/questions/52683737
复制相似问题