![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
文章平均质量分 78
以Python为基础,介绍基于Python的各类编程技巧、工作效率提升工具以及日常小问题解决心得记录
起不好名字就不起了
爱好数据分析、机器学习(并不)
展开
-
怎么用python抓取某城市全部道路名称信息
引子这两天碰到一个需求,要获取某个城市所有道路的车辆通行速度。首先自然是想到用高德或百度的Web服务API 来请求交通路况信息,结果一看高德的交通态势服务API从2020年12月31日起就下线了,遂转而奔向百度,百度的实时路况查询服务倒是还能用,但是在使用上确有许多限制,主要是检索限定范围太小,无法通过直接设置矩形范围查询区域内所有道路路况信息,最终想到如果原创 2022-02-27 10:02:49 · 2630 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十九题:乌拉乌拉乌拉
未知检测...一、前言二、请求方法2.1、在线测试2.2、代码实现三、写在最后一、前言这题其实看了半天没发现到底检测了什么东西,死活没法获取真实的响应数据,直到尝试了一个半作弊方式,虽然最后还是没搞明白检测远离,但好歹能得出结果了不是,这里就分享下这个间接解决问题法,如果有大佬看到了希望指点下迷津,这题到底怎么检测的…二、请求方法2.1、在线测试这个方法主要是使用了Json在线解析格式化工具网站的http模拟请求工具,跟自己模拟请求的区别是,这里是网站帮你请求,也没输入什么特别的请求头,很顺利的拿原创 2021-12-05 21:48:18 · 965 阅读 · 5 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十四题:备而后动-勿使有变
一、前言一晃又一个月没写博客了,最近集中攻坚了一下,历经了无数次失败,终于把第十四题整出来了。总的来说,这题确实比较复杂,而且有很多坑,体现在调试、解析等诸多方面,着实考验爬虫工程师的逆向水平。不过这题做完收获还是挺大,尤其是逆向过程中的一些调试环境检测,涨了不少知识。二、总体逻辑分析首先进入这题主页,跟之前的题要求基本一致,都是抓取当前页数字:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cBEzNOht-1631283301732)(https://raw.git原创 2021-09-11 20:55:13 · 1107 阅读 · 0 评论 -
python 中如何把嵌套的列表合并成一个列表?
python 中如何把嵌套的list合并成一个list?方法一:巧用sum函数将list列表与一个空列表相加,就能把嵌套列表合并成一个a=[[1],[2],[3],[4],[5]]merge=sum(a,[])print('sum result:',merge)结果:sum result: [1, 2, 3, 4, 5]方法二:使用itertools 模块的链式拼接itertools.chain()与itertools.chain.from_iterable()函数都可以拼接可迭代对象原创 2021-07-31 10:44:29 · 14933 阅读 · 1 评论 -
猿人学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 · 1705 阅读 · 3 评论 -
适合小白的几个入门级Python ocr识别库
textact,muggleocr,paddle,ddddocr原创 2021-07-15 21:22:29 · 72156 阅读 · 27 评论 -
常见的加密算法原理与实现:RSA加密
系列四:RSA加密一、基本介绍一、基本介绍原创 2021-07-01 23:37:26 · 2203 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第九题:js混淆-动态cookie2
js混淆,动态cookie2一、前言二、加密逻辑初探三、加密逻辑深入分析四、代码实现4.1、ast解混淆的一个坑4.2、完整实现过程五、参考文献一、前言一转眼又有快两个星期没更博客了,主要是没想到第九题真的这么难,硬是让我死磕了快半个月,最终在参考其他大神的解题分享,才完全搞明白为啥自己始终算不对加密参数,还是吃了没文化的亏啊。总体来说这题坑不少,但也让我学到了不少新知识,死磕的过程中多少还有点收获。二、加密逻辑初探先看题目要求,这里是要求要找出所有的评论数量,按惯例还是先看看页面请求api的返回结原创 2021-06-27 21:45:59 · 1111 阅读 · 3 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十六题:webpack初体验
webpack初体验一、前言二、逆向过程三、代码实现三、结语一、前言webpack算是逆向过程中比较常出现的一种加密方式了,本质上是将网页源代码打包进JavaScript ,并对其进行压缩,如果不对其进行其他混淆操作的话还是很好还原的。第十六题虽然标的是简单级别,但对于新手来说,也有一些坑,不注意就会踩到,找不对方法真是头皮要想破。话不多说,开整二、逆向过程这题还是老样子,先观察XHR请求,发现有两个加密参数,一个m很明显是主要加密参数,t则看起来是个时间戳:跟着请求的调用栈,找一下这个api请原创 2021-05-24 22:23:27 · 3587 阅读 · 2 评论 -
常见的加密算法原理与实现:base64编码(加密)
系列一:base64加密前沿一、base64的缘起二、base64的原理三、在Python中的实现二级目录三级目录前沿一、base64的缘起二、base64的原理三、在Python中的实现二级目录三级目录原创 2021-05-14 21:33:12 · 2637 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第十二题:入门级js
第十二题:入门级js1、前言2、解析过程3、代码实现1、前言这个入门级js属实让我没想到,是真的很简单,对于新手来说,基本上只要了解什么是base64加密就很容易能还原加密参数了,确实是到零难度的题,在被之前那些中等难得的题虐了一番后,看完这个内心直呼“我又可以了!”,总的来说真的是对新手非常友好的送分题了。2、解析过程点开十二题页面直接进入开发者模式,看看有什么加密参数之类的,仔细找了一番也就m这个比较短的字符串应该是加密过的顺着这个请求,进一步去找该请求的发起者,也就是它的调用栈,点击requ原创 2021-05-02 18:50:27 · 274 阅读 · 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 · 6598 阅读 · 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 · 1105 阅读 · 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 · 944 阅读 · 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 · 11298 阅读 · 4 评论 -
猿人学web端爬虫攻防大赛赛题解析_第三题:访问逻辑
基本思路post 和session差异原创 2020-12-01 21:45:49 · 1404 阅读 · 9 评论 -
猿人学web端爬虫攻防大赛赛题解析_第二题:动态cookie1
观察cookie字段发现两个会动态变化的cookie字段:m和Hm_lvt_0362c7a08a9a04ccf3a8463c590e1e2f第一种(作弊法,用selenium模拟访问,一哈子就成功了。。)原创 2020-11-14 22:58:17 · 745 阅读 · 0 评论 -
猿人学web端爬虫攻防大赛赛题解析_第一题:源码乱码
第一题:js 混淆 - 源码乱码1、前言2、题目理解3、逆向(踩坑)分析过程3.1、初步分析3.2、当头一棒3.3、循序渐进3.4、大功告成4、结语1、前言接触网络爬虫已经有两三年了,但其实一直没系统的学习过,都是在偶尔有爬数据需求时在网上找教程,应对一些普通的静态网页或者是没有加密参数的ajax请求时没有问题,但现在各类网站越发注重数据保护,制定了很多反爬虫措施,以至于我现有的那点技术储备面对各种花式反扒虫显得捉襟见肘,痛定思痛,还是要认真系统的学习下相关知识。恰巧最近关注的爬虫大佬王平办了个爬虫攻防原创 2020-10-26 23:18:23 · 4440 阅读 · 4 评论 -
多进程、多线程、协程的使用如何选择?
进程、线程与协程的差异总结背景基础概念1、进程2、线程3、协程各自的适用环境参考文献背景最近在研究如何实现高效率爬虫过程中,经常会使用多线程、多进程、以及协程来进行并发或并行操作。虽然掌握了这几个Python库的基本用法,但其实一直对这几个概念之间的区别理解不是那么明确,处在一种知其然,不知其所以然的处境,因此这几天查询了各种相关文献,总算是搞明白了进程、线程以及协程的内涵以及最佳使用场景,这篇博客可以算是学习记录与总结,记下来一遍日后有需要的时候再翻阅。基础概念在对比使用差别之前,首先看一下三者的原创 2020-10-17 23:53:49 · 2725 阅读 · 1 评论 -
百度OCR(文字识别)服务使用入坑指南
百度OCR使用入坑指南背景:什么是OCR一、在线调用百度api接口第一步:注册百度智能云账号,创建应用获取key二、百度开源模型:PaddleOCR背景:什么是OCROCR是光学字符识别(Optical Character Recognition)的缩写,是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。通俗来讲就是识别图片里的文字信息,非常适用于提取网络截图或扫描pdf等文件里的文本,可以极大提高生产效率,原创 2020-09-28 22:53:03 · 23755 阅读 · 6 评论 -
利用Python提取PDF文件中的文本信息
如何利用Python提取PDF文件中的文本信息日常工作中我们经常会用到pdf格式的文件,大多数情况下是浏览或者编辑pdf信息,但有时候需要提取pdf中的文本,如果是单个文件的话还可以通过复制粘贴来直接将文本信息复制出来,但如果是要提取成本上千个pdf文件中的文本信息,有没有什么比较快捷的方式可以实现自动化提取呢?答案是通过python实现pdf文本信息的批量自动化提取,这里介绍通过以下五个库来实现信息提取:PyPDF2, Textract, tika, pdfPlumber, pdfMiner,原文参考这原创 2020-09-20 20:58:13 · 23572 阅读 · 20 评论 -
ArcGIS中矢量数据线转点的三种方式
ArcGIS中矢量数据线转点的三种方式最近做项目中遇到了需要得到线状道路数据中线内每一点的具体经纬度这个需求,于是想到了将线先转成点,然后获取每一点的坐标信息这个方法,由于需要获得相对较密集的点位信息,因此在线转点的过程中要实现按指定距离生成点,这样才能控制生成的点数,遂查了查几种通过线状数据生成点状数据的方法,当前基于ArcGIS实现此需求的方式有以下三种。方法一:使用Feature Vertices To Points(要素折点转点)工具要素折点转点工具是比较常用的要素转点工具o/)方法二:原创 2020-07-22 23:14:22 · 14861 阅读 · 11 评论 -
使用python创建arcmap脚本工具
ArcGIS中创建Python脚本工具起因脚本实现工具脚本创建起因ArcMap中本身就已集成了非常丰富的工具库,但有时候由于一些特殊的使用需求,我们需要构建更适用于当前项目的工具。最近由于项目中需要计算多幅栅格影像的众数,查了查已有的工具发现栅格计算中发现只有较为常见的最大值、最小值、平均值等函数,于是决定自己写个脚本来做个定制化工具。脚本实现求取多幅栅格影像的众数的代码如下,主要用到了n...原创 2019-07-01 21:17:12 · 1771 阅读 · 0 评论