
爬虫
文章平均质量分 80
起不好名字就不起了
爱好数据分析、机器学习(并不)
展开
-
怎么用python抓取某城市全部道路名称信息
引子这两天碰到一个需求,要获取某个城市所有道路的车辆通行速度。首先自然是想到用高德或百度的Web服务API 来请求交通路况信息,结果一看高德的交通态势服务API从2020年12月31日起就下线了,遂转而奔向百度,百度的实时路况查询服务倒是还能用,但是在使用上确有许多限制,主要是检索限定范围太小,无法通过直接设置矩形范围查询区域内所有道路路况信息,最终想到如果原创 2022-02-27 10:02:49 · 2987 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十九题:乌拉乌拉乌拉
未知检测...一、前言二、请求方法2.1、在线测试2.2、代码实现三、写在最后一、前言这题其实看了半天没发现到底检测了什么东西,死活没法获取真实的响应数据,直到尝试了一个半作弊方式,虽然最后还是没搞明白检测远离,但好歹能得出结果了不是,这里就分享下这个间接解决问题法,如果有大佬看到了希望指点下迷津,这题到底怎么检测的…二、请求方法2.1、在线测试这个方法主要是使用了Json在线解析格式化工具网站的http模拟请求工具,跟自己模拟请求的区别是,这里是网站帮你请求,也没输入什么特别的请求头,很顺利的拿原创 2021-12-05 21:48:18 · 1260 阅读 · 5 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十八题:jsvmp-洞察先机
jsvmp-洞察先机一、前言二、解析过程分析三、代码实现四、参考文献一、前言又是很长时间没更博客了,今天终于花时间把最后一题给解决了,至此猿人学赛题的学习基本告一段落,总的来说大部分题对我来说都很有挑战性,而每次解题过程中也会学到点新知识。目前的达到的水准是即使有些完全没思路的加密,看下其他大神分享的解题过程,基本上自己也能摸索着还原出来,虽然距离大佬们还有不小的差距,但相比起挑战习题最初的我来说,还算是有一定进步了。总之也算是完成了猿人学赛题的挑战目标,嗯,废话不多说,进入正题。二、解析过程分析首原创 2021-10-27 22:22:22 · 1385 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十四题:备而后动-勿使有变
一、前言一晃又一个月没写博客了,最近集中攻坚了一下,历经了无数次失败,终于把第十四题整出来了。总的来说,这题确实比较复杂,而且有很多坑,体现在调试、解析等诸多方面,着实考验爬虫工程师的逆向水平。不过这题做完收获还是挺大,尤其是逆向过程中的一些调试环境检测,涨了不少知识。二、总体逻辑分析首先进入这题主页,跟之前的题要求基本一致,都是抓取当前页数字:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cBEzNOht-1631283301732)(https://raw.git原创 2021-09-11 20:55:13 · 1496 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第八题:验证码 图文点选
验证码 图文点选一、前言二、解析过程2.1、点选逻辑分析2.2、验证码图像预处理2.2.1、处理图像背景2.2.2、移除干扰线条2.2.3、增强字体显示效果2.3、验证码中的文字识别2.3.1、ocr识别2.3.2、手动识别三、完整代码实现四、结语五、参考文献一、前言第八题跟以往的几道混淆题有很大区别,不需要你去很费劲扣代码逻辑,找加密参数什么的,但是难就难在验证码图片太难识别了,花了一两个星期尝试看看有没比较好的解决方案,最终还是选择最稳妥的人工识别法????,深度学习识别什么的以后再慢慢研究,不过解原创 2021-07-29 21:46:12 · 2084 阅读 · 3 评论 -
猿人学web端爬虫攻防大赛赛题解析_第九题:js混淆-动态cookie2
js混淆,动态cookie2一、前言二、加密逻辑初探三、加密逻辑深入分析四、代码实现4.1、ast解混淆的一个坑4.2、完整实现过程五、参考文献一、前言一转眼又有快两个星期没更博客了,主要是没想到第九题真的这么难,硬是让我死磕了快半个月,最终在参考其他大神的解题分享,才完全搞明白为啥自己始终算不对加密参数,还是吃了没文化的亏啊。总体来说这题坑不少,但也让我学到了不少新知识,死磕的过程中多少还有点收获。二、加密逻辑初探先看题目要求,这里是要求要找出所有的评论数量,按惯例还是先看看页面请求api的返回结原创 2021-06-27 21:45:59 · 3886 阅读 · 3 评论 -
猿人学web端爬虫攻防大赛赛题解析_第七题:动态字体,随风漂移
动态字体,随风漂移一、前言二、分析过程一、前言上一道字体反扒的css加密题还是第四题,不过那道题主要还只是做了个数字的坐标偏移,逻辑分析起来不算难,这道动态字体的题算是真正的字体反扒题,做了一下感觉挺长见识的,对于了解同类型字体加密有不小帮助,闲言少叙,开搞!二、分析过程题目的要求是采集胜点列的数据,找出胜点最高的召唤师,那加密的数据肯定就是胜点数据了,核心应该是解析出胜点值,其次就是将这个值与对应的召唤师匹配,最后比较五十个玩家的胜点,找出胜点最高那一个。这里仔细观察一下,可以发现胜点数字的字形原创 2021-05-31 22:41:54 · 1089 阅读 · 1 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十六题:webpack初体验
webpack初体验一、前言二、逆向过程三、代码实现三、结语一、前言webpack算是逆向过程中比较常出现的一种加密方式了,本质上是将网页源代码打包进JavaScript ,并对其进行压缩,如果不对其进行其他混淆操作的话还是很好还原的。第十六题虽然标的是简单级别,但对于新手来说,也有一些坑,不注意就会踩到,找不对方法真是头皮要想破。话不多说,开整二、逆向过程这题还是老样子,先观察XHR请求,发现有两个加密参数,一个m很明显是主要加密参数,t则看起来是个时间戳:跟着请求的调用栈,找一下这个api请原创 2021-05-24 22:23:27 · 3844 阅读 · 2 评论 -
常见的加密算法原理与实现:base64编码(加密)
系列一:base64加密前沿一、base64的缘起二、base64的原理三、在Python中的实现二级目录三级目录前沿一、base64的缘起二、base64的原理三、在Python中的实现二级目录三级目录原创 2021-05-14 21:33:12 · 3283 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十五题:备周则意怠 常见则不疑
第十五题:备周则意怠 常见则不疑1、前言1、前言原创 2021-05-08 23:26:44 · 849 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十三题:入门级cookie
第十二题:入门级cookie1、前言2、解析过程3、代码实现1、前言这道入门级cookie看起来挺简单,但对刚入门的新手来说,要找到生成cookie的逻辑,其实还是需要掌握一定的抓包技巧,比如对fiddler工具的基本使用要有一定了解,要不然可能会做的有点懵,废话不多说,回顾下自己解这题时的经历吧。2、解析过程还是打开开发者工具,查看xhr请求,发现这题的请求头内的cookie中包含了两个参数:sessionid和yuanrenxue_cookie,这应该是就是我们要找的加密参数。顺着这个请求的原创 2021-05-04 19:09:25 · 576 阅读 · 3 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十二题:入门级js
第十二题:入门级js1、前言2、解析过程3、代码实现1、前言这个入门级js属实让我没想到,是真的很简单,对于新手来说,基本上只要了解什么是base64加密就很容易能还原加密参数了,确实是到零难度的题,在被之前那些中等难得的题虐了一番后,看完这个内心直呼“我又可以了!”,总的来说真的是对新手非常友好的送分题了。2、解析过程点开十二题页面直接进入开发者模式,看看有什么加密参数之类的,仔细找了一番也就m这个比较短的字符串应该是加密过的顺着这个请求,进一步去找该请求的发起者,也就是它的调用栈,点击requ原创 2021-05-02 18:50:27 · 319 阅读 · 0 评论 -
利用Python调用Nodejs环境下的javascript代码执行结果
在Pyhton中用os.open调用nodejs执行结果一、为什么要用os.open?二、使用方法1、js文件编译2、Python调用一、为什么要用os.open?在不安装第三方js执行库的情况下,直接用Python原生os库来执行js代码不失为一种比较便捷的方法,尤其是js文件比较大的时,直接以字符串形式写在Python代码里通过其他库(execjs等)来执行会显得代码异常臃肿,而且不存在第三方库因为无法正确编译js文件导致执行报错的问题,总之使用os.open时,只要js代码在nodejs环境里能正原创 2021-04-29 20:03:25 · 7681 阅读 · 9 评论 -
猿人学web端爬虫攻防大赛赛题解析_第六题:js 混淆 - 回溯
第六题:js 混淆 - 回溯1、前言2、题目理解3、加密原理解析3.1、加密位置判断3.2、解密_萌新试错版3.3、解密_老手经验版4、代码实现过程4.1、坑一:风控不通过4.2、坑二:参数q设置有误4.3、完全体代码5、结语6、参考文献1、前言万万没想到,距离上次做完第四题之后,再次动手写猿人学赛题解析的博客已经是四个多月之后了。其中各种艰辛,难以言表,只能说逆向这鬼东西水太深了,要掌握的各种知识和骚操作是真的不少,奈何自己人菜瘾还大,不信邪非要靠自己手撕代码,想在不借助外力的情况下,自己把代码还原出原创 2021-04-24 22:09:57 · 1414 阅读 · 5 评论 -
Python调用并执行javascript代码——使用Naked库
背景在python环境下想要执行js文件一般主要是用execjs、js2py、selenium等第三方库来实现,最近在运行一段包含特殊字符的js代码时,把所有这些主流的js执行库都试了一遍,但无论如何都会报错提示字符有问题,实在没办法在谷歌一通搜索,终于找到了一个可行的js执行库——Naked,不同于其他库都是将js代码写在python代码中编译执行,Naked是直接调用NodeJS源文件的输出结果,还是挺方便的。Naked库安装与使用1、安装安装比较简单,直接pip安装就行:pip install原创 2021-02-27 23:15:53 · 1047 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第四题:雪碧图、样式干扰
第四题:雪碧图 - 样式干扰1、前言2、题目理解3、解析过程3.1、初窥门径3.2、深入探究3.2.1、确定原理3.2.2、逆向破解3.2、代码实现4、结语1、前言久违的第四题终于要出炉了,这篇博客比我预想的完成时间要快,主要是没想到这次解题过程还比较顺利,竟然在没有参考其他大佬答案的前提下,自己摸索出来了,对我来说算是一个可喜可贺的小突破啊,虽然是道简单级别的题,但凭自己实力破解还是有点成就感的,算是逆向之路的一个小里程碑。好,那就不扯犊子了,进入主题!2、题目理解猿人学的题好就好在每道题都告诉你原创 2020-12-13 23:10:58 · 12590 阅读 · 4 评论 -
猿人学web端爬虫攻防大赛赛题解析_第三题:访问逻辑
基本思路post 和session差异原创 2020-12-01 21:45:49 · 1649 阅读 · 9 评论 -
猿人学web端爬虫攻防大赛赛题解析_第二题:动态cookie1
观察cookie字段发现两个会动态变化的cookie字段:m和Hm_lvt_0362c7a08a9a04ccf3a8463c590e1e2f第一种(作弊法,用selenium模拟访问,一哈子就成功了。。)原创 2020-11-14 22:58:17 · 995 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第一题:源码乱码
第一题:js 混淆 - 源码乱码1、前言2、题目理解3、逆向(踩坑)分析过程3.1、初步分析3.2、当头一棒3.3、循序渐进3.4、大功告成4、结语1、前言接触网络爬虫已经有两三年了,但其实一直没系统的学习过,都是在偶尔有爬数据需求时在网上找教程,应对一些普通的静态网页或者是没有加密参数的ajax请求时没有问题,但现在各类网站越发注重数据保护,制定了很多反爬虫措施,以至于我现有的那点技术储备面对各种花式反扒虫显得捉襟见肘,痛定思痛,还是要认真系统的学习下相关知识。恰巧最近关注的爬虫大佬王平办了个爬虫攻防原创 2020-10-26 23:18:23 · 14398 阅读 · 4 评论