首先,我要爬的是这个网站:http://www.66ip.cn/nm.html,我想做个直接调用网站的接口获取代理的爬虫

这个接口看上去似乎很简单,直接输入需要的代理条件后,点击提取即可

点击提取后就是一个个ip了,

废话不多说,按f12点开,

发现需要两个cookie值,不知道从哪来,删掉cookie后,刷新页面再看看。

同样有这两个cookie,不过是新值,并且出了jquery.js没别的文件了。奇怪了,cookie怎么出来的,不过可以注意到被重定向了。

所以,把f12的net work下的 preserve log 勾选(新手才学到的),这样就可以看到所有的包了

三、

果然找到一个cookie,但是还有一个cookie值呢?查看这个521报文看不到内容,使用postman试试(这里一定要注意,今天被坑了很久,postman是依托于chrome的,chrome出于安全考虑,限制了postman的cookie功能,需要下载插件,点击一下会跳转到谷歌应用商店postman interceptor,然后在postman中打开改插件即可。还有要注意的是,chrome上的cookie,是会被postman使用的,记得删掉。下图的postman interceptor点开了)

四,然后发现果然执行了一段js代码,拿去格式化,简单修改,使用nodejs运行了一下,其实就是一句,document.cookies='***'的代码

五,这个还算好做,分离出来就行,然后发现,诶,每次没cookie的请求都是不同的js代码,干脆就提取出js代码,然后,替换部分js代码, 即可获取_ydclearance

@staticmethod
def get_66ip_cookies(url):
"""
66ip的加密cookie破解
:param self:
:param url:
:return:
"""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
' Chrome/68.0.3440.106 Safari/537.36'}
res = requests.get(url, headers=headers)
yd_cookie = res.cookies['yd_cookie']
groups = re.search('<script language="javascript"> window.onload=setTimeout\("(.*?)", 200\); (.*?)</script>',
res.text)
x = groups.group(1)
y = groups.group(2)
y = y.replace('eval("qo=eval;qo(po);");', 'result = /_ydclearance=(.*?);/.exec(po)[1]; return result;')
jsfunc = execjs.compile(y)
_ydclearance = jsfunc.call(x[:2], re.findall('[0-9]+', x)[0])
return yd_cookie, _ydclearance

最新文章

  1. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
  2. Spring Boot with Spring Data JPA (1) - Concept
  3. mysql while,loop,repeat循环,符合条件跳出循环
  4. React组件的分类
  5. 批量插入数据(基于Mybatis的实现-Oracle)
  6. MediaWiki使用指南
  7. iOS开发之多线程技术
  8. coursera机器学习笔记-神经网络,初识篇
  9. Android webview通过http get下载文件下载两次的问题及解决方法
  10. 触控(Touch) 、 布局(Layout)
  11. JDBC建立/关闭数据库连接
  12. 《算法导论》习题解答 Chapter 22.1-3(转置图)
  13. SharePoint 2010 &quot;客户端不支持使用windows资源管理器打开此列表&quot; 解决方法
  14. 【转】uvm 与 system verilog的理解
  15. 理解C++ 宏
  16. Stanford Parser学习入门(2)-命令行运行
  17. Exists与In效率分析
  18. 【转】patch命令
  19. Spring+SpringMVC+Mybatis+MAVEN+Eclipse+项目完整环境搭建
  20. IDF实验室解题学习笔记1

热门文章

  1. 解决Jquery Ajax提交 服务器端接收中文乱码问题
  2. Android 4.4KitKat AudioFlinger 流程分析
  3. centos7防火墙的关闭
  4. Calendar类经常用法 日期间的转换 set方法有巨坑
  5. 【转载】Oracle之内存结构(SGA、PGA)
  6. atitit. it软件项目管理---自己的员工,雇佣军、援军,混合的员工 杂牌 人员管理架构
  7. c语言循环单链表
  8. [JNA系列]Java调用Delphi编写的Dll之实例Delphi使用PAnsiChar
  9. form在submit之前使用request.setCharacterEncoding是没用的
  10. flask学习笔记(-操作数据库)