通过保存cookie设置cookie做到抖音免密登录
问题:老板给了一批抖音号,每次发作品的时候都需要用手机扫码,几个还到行,几十个让人很崩溃
解决办法:
1、开发浏览器插件
首先我想到的是用浏览器插件,用jquery.cook.min.js去做,之前用这个做过广告屏蔽,抖音一键下载,在手机上下载有水印,是在是受不了,现在是看上哪个下载那个,这速度杠杠的。有需要的可以联系 我。
想着是简单可能这方法虽然能设置cookie但是从实际操作来看还是有一些问题,一直是实现不了,自我分析可能是这个domain的问题,cook.js不能设置domain。我是没调试出来,不知道有没有大神弄出来的,可以交流一下。没办法此路不通,就换思路
2、python自动化webdriver
网上说python可以,然后就去找对应的方法。最终实现了。python的类库真的是太丰富了,搞啥的都有,这写小工具真的是没啥说的。其中一个 webdriver 全靠这个搞定。它有对cook的大部分操作。直接上代码
1、获取cook并且保存
from selenium import webdriver
import time
import json
#打开浏览器
web = webdriver.Chrome()
#访问对应地址
web.get("")
#延迟一会,此时你需要登录,15秒应该是够操作了
time.sleep(15)
#读取cook
cook = web.get_cookies()
#保存cook,我是写到txt文件的,后期可以写成http的,收集大量的,然后就可以*****(你懂的)***
f = open('cook.txt','w')
f.write(json.dumps(cook , ensure_ascii=True))#格式转化,这不管你是学的那种语言都必须要知道的
f.close()
2、读取cook并且配置到浏览器中
from selenium import webdriver
import time
import json
#读取文件
f =open("cook.txt")
data = json.loads(f.read())
#打开浏览器
driver = webdriver.Chrome()
time.sleep(2)
#打开网址
driver.get("https://www.douyin.com/")
driver.implicitly_wait(10)
#清楚cook
driver.delete_all_cookies()
time.sleep(8)
#遍历cook
for cookie in data:
if 'expiry' in cookie:
del cookie["expiry"]
print(cookie)
#添加cook
driver.add_cookie(cookie)
time.sleep(5)
#刷新
driver.refresh()
driver.get
好了,最核心的地方就这些,按照这个流程走下来就可以。基于这个你就可以做出很多的东西,此方法仅供参考,牵扯到的任何法律问题与我无关哈。