内容简介:
1、使用EditThisCookie
2、魔改源代码来实现更加高效的cookie保存。
EditThisCookie是一个cookie管理器。可以添加,删除,编辑,搜索,保护,并阻止cookie等等操作,并且这个工具是开源的。
GitHub链接:点击跳转
对于爬虫玩家来说操作cookie是一件很繁琐的事情。
1、比如在复制一些HttpOnly为True 的cookie值的时。
2、比如想要修改cookie的值时,也不需要在进入浏览器调试工具去修改,或者是使用js代码修改。等等等奇奇怪怪的操作cookie场景
以百度指数为例,插件安装好后就可以在页面中打开,点开后需选择导出Cookie,就可以把cookie全部复制出来(包括设置了HttpOnly的字段)
编辑也很简单,直接点开下面,然后修改内容保存即可
这些高级选项可以在插件设置里面打开,然后去配置
一键拿到cookie的工具有了,那我们复制到的cookie是不是还要手动保存或者设置到某个地方去,这样的话就太低效率了,而且只能自己手动操作,如果你有n个网址要爬岂不是很麻烦,所以我想了一个方法,就是在复制Cookie的位置,添加一点小功能:比如发送一个请求?
接口在接收到之后就可以做一些动作,比如保存进redis。
右键那个小饼干,选择审查弹出内容
基本操作,定位这个复制cookie按钮的元素
然后就可以在事件监听器里面找到对应的函数
也可以直接全局搜索:$("#copyButton").unbind()
这个函数就是点击按钮,然后复制cookie动作,只需要在里面加一点请求代码,让它在获取到cookie前后发送一个请求
$("#copyButton").unbind().click(function () { // copyToClipboard(cookiesToString.get(cookieList)); // 源代码 var cookie = cookiesToString.get(cookieList) copyToClipboard(cookie); // 插件下的请求代码~ var queryOptions = {active: true, currentWindow: true}; chrome.tabs.query(queryOptions, function (tabs) { var url = new URL(tabs[0].url); var host = url.hostname var xhr = new XMLHttpRequest(); // 127.0.0.1可以改成域名或者是服务器ip xhr.open("POST", "http://127.0.0.1:8088/cookie/upload", true); xhr.setRequestHeader("Content-Type", "Application/Json"); // 这里的请求参数根据自己的场景去设定 var sendData = {"cookie": cookie, "host": host}; xhr.send(JSON.stringify(sendData)); } ); // 下面代码不需要动 data.nCookiesExported += cookieList.length; $("#copiedToast").fadeIn(function () { setTimeout(function () { $("#copiedToast").fadeOut(); }, 2500); }); $(this).animate({ backgroundColor: "#B3FFBD" }, 300, function () { $(this).animate({ backgroundColor: "#EDEDED" }, 500); }); });
保存好后点击复制cookie的按钮,就可以在通过网络抓包看到成功发送了请求
那么我们最终的效果就可以直接保存进redis(服务器接口自己设定)
最后把修改后的js代码替换进插件源文件内就大功告成了。
还可以把这个插件直接给运营的同学使用,他们自己登陆后台自己一键发送cookie到服务器,再也不需要自己复制cookie保存了。