自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 提高爬虫开发效率的几个小工具

前言一般开发爬虫的时候,最心烦的不是它的反爬有多复杂,而是它的参数贼多,要一个个的复制进去。所以自己写了一个小工具,把抓包抓到的 header、data、cookie 这些参数转换成 python 代码。大大的提高开发效率,其实代码之前已经开源了,不过用起来不太方便,于是最近就把它弄到了线上,用起来方便多了。涉及到的工具或技术Python 3.7Fiddler v5.0Charle...

2020-04-27 19:23:16 322

原创 这么好用的离线OCR项目,我要摁头安利给你!

爬虫遇到了验证码无法识别?PDF 里的扫描文档让你无从下手?公司的有 OCR 需求但又不想花钱?写论文就想 抄参考 一段,但文库下载都要收费?不用担心这些了!来吧朋友,这款适合人类食用的离线中文 OCR 项目解决你所有的烦恼!今天的主角就是这款在 github 上开源的项目:TrWebOCR介绍项目是基于开源离线 OCR 项目 Tr构建的,解决了 Tr 不支持并发的问题,并且...

2020-05-06 23:28:56 3202 1

原创 谈谈我用在vue-cli3中预渲染遇到的坑

前言在开发自己的个人网站的时候后,选择了用vue来开发,不可避免的遇到要对seo做优化。鉴于目前页面也不多,因此首先采用的是预渲染的方式。本来以为把插件一装,配置一配,咔咔咔就能搞定,结果发现并没有想的那么简单。因为首先就遇到了两个报错,折腾了半个晚上。问题及解决方案第一个报错:Unable to prerender all routes!这个问题是在设置好配置之后,build的时候...

2020-04-22 11:52:50 1313

原创 django上线报ImproperlyConfigured:has multiple filesystem locations错误

今天在上线的时候uwsgi启动报错:django.core.exceptions.ImproperlyConfigured: The app module <module 'g32a' (namespace)> has multiple filesystem locations并且访问页面时出现Internal Server Error的错误。经过检查后发现是在g32aapp...

2020-03-19 17:02:12 496

原创 排序算法系列——快速排序

什么是快速排序?快速排序,顾名思义它排序的速度十分的快。它快到什么程度呢?C语言标准库中的qsort函数就是使用快速排序实现的!说到快速排序,离不开两个重要的概念: 递归 和 分治算法(Divide ans conquer, D&C)。如果要讲清楚这两个概念,可以单独写两篇文章出来了。因此这里不做深入,只简单介绍一下:递归:重复调用自己的函数。一般由两个部分组成基线条件 和...

2019-12-10 23:12:49 186

原创 排序算法系列——冒泡排序

冒泡排序是是一种比较基础简单的算法。它的原理是通过对比前后的元素大小,将较大的数换到后面的方式来实现排序 。排序过程举个例子:假如现在有一个无序数组disorder_arr = [4,2,19,10,-1]。第一步:取第0个元素4,和第1个元素2对比,发现4比2大。第二步:交换4与2的索引。即第0个元素为2,第1个元素为4,disorder_arr =[2,4,19,10,-1...

2019-12-05 14:51:35 181

原创 排序算法系列——选择排序

什么是选择排序选择排序可以说是众多排序算法中,最基础、最直观的一个算法了。它的思想十分简单:遍历列表,找出最小的一个数,记下索引将最小的数添加到新的列表中,同时删除原数组中的数重复第一步排序过程举个例子:假如现在有一个无序数组disorder_arr = [4,2,19,10,-1],和一个空数组order_arr = []第一步:​ 遍历数组​ 找到disorder...

2019-12-03 12:34:13 223

原创 用Python在Excel里画出蒙娜丽莎

之前看到过很多头条,说哪国某人坚持了多少年自学使用 excel 画画,效果十分惊艳。对于他们的耐心我十分敬佩。但是作为一个程序员,自然也得挑战一下自己。这种需求,我们十分钟就可以完成!基本思路实现这个需求的基本思路是读取这张图片每一个像素的色彩值,然后给 excel 里的每一个单元格填充上颜色。所以主要用到的是PIL、openpyxl这两个库。PIL 使用PIL是 Python...

2019-11-26 23:08:29 717 1

原创 Django配置优化方法

一、使用多个setting文件​ 开发Django项目是最常见,也是最麻烦的一个问题就是如何区分开发配置与线上配置。有一些解决方案是利用配置文件是py文件这个特性,在配置里面写一些if-else来达到区分线上配置与开发配置的目的。但是当项目较为复杂的时候,这样写的可读性十分差,而且可能产生一些条件判定的BUG。​ 所以更加推荐的方法是使用多个配置文件。​ 例如新建一个Django项目的...

2019-11-17 13:22:33 283

原创 几种你可能不知道的Python装饰器使用姿势

在Python中,装饰器是一种十分强大并且好用的语法,一些重复的代码使用装饰器语法的话能够使代码更容易理解及阅读。因此在这里简单总结了一下Python中装饰器的几种用法以及需要注意的事情。一、在装饰器中获取被装饰函数的参数假设我们在开发web的时候,需要做反爬。要判断接口的访问来源我们就可以通过下面装饰器的方法来实现:def mydecorator(func): def wrapp...

2019-10-23 22:57:23 166

原创 CentOS 7 安装 Tesseract-OCR4.1

1. 安装依赖的leptonica库建议使用 su root 切换到root用户下安装,避免编译过程中的权限不足问题wget http://www.leptonica.org/source/leptonica-1.78.0.tar.gztar -xzvf leptonica-1.78.0.tar.gzcd leptonica-1.78.0./configuremake &&am...

2019-09-10 17:03:11 2957 1

原创 【优化】py2下hbase的字符串编码问题(\\xe7\\xbc\\x96)

引言上次写过一篇关于 py2下hbase的字符串编码问题(\xe7\xbc\x96) 的文章,里面的解决方案是正则来进行转换,是一个有点傻但目前又无可奈何的解决方案,并且在最后留下了三个小坑。本以为应该可以稳定的使用一段时间,没想到才过几天就掉坑里了。=_=!!所以这次就开始填坑了吧!!修改后的代码talk is cheap ,show me the code!废话不多说,直接上代...

2019-01-08 23:29:25 335

原创 三个小工具,大幅提高爬虫开发速度

引言我们在进行爬虫开发的时候,fildder是一个必不可少的神器。尤其是现在大型网站的反爬越来越难处理,经常会花费我们大量的时间来找到哪些参数是必须的。因此如果能够快速的将fildder抓到的包里面的参数转换成python可用的格式,那么无疑可以极大的提高我们的开发效率。因此我写了小工具,主要目的是为了快速的将fildder里抓到的header,data,cookie转换成requests,s...

2019-01-07 22:33:08 283

原创 py2下hbase的字符串编码问题(\\xe7\\xbc\\x96)

py2下hbase的字符串编码问题(\xe7\xbc\x96)最近在py2的环境下使用hbase,遇到了一个令人恼火的编码问题。问题字符串如下:'\\XE6\\X89\\X80\\XE8\\XB0\\X93\\XE7\\X89\\XB9\\XE6\\XAE\\X8A\\XE5\\XAD\\X97\\XE7\\XAC\\XA6\\XEF\\XBC\\X8C\\XE5\\XB0\\XB1\\XE6...

2018-11-25 20:59:27 797

原创 【list切片】简解python切片取值

导语众所周知,在python里面,切片是一个极其好用的语法,可是许多新上手的pythoner,在它的取值这里会比较蒙,许多教程讲解是十分详细,但不够简洁,因此这里整理了一份简洁的,专供人类阅读的切片介绍。正文那么闲言少叙,这里就来举个栗子: arr = ['a','b','c','d']这里有一个arr的数组,首先我们明确的知道,在正序下a的索引为0,d的索引为3;倒序下,a...

2018-10-24 22:26:19 1294

原创 【selenium】使用无界面的firefox,chrome

开始语最近心血来潮,将selenium升级了一下,发现在使用phantomJS的时候,console的输出跟之前有些不一样。待我细心观瞧之后发现在第一行,会有一个以前没有的输出,就是:UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome ...

2018-10-03 14:02:16 2580 2

原创 【selenium】webdriver的安装配置(附:可能最全的下载地址)

我们在写爬虫的时候,偶尔会遇到一些内容是通过js获取,或者加密等一些情况,那么这种情况就必须要祭出大杀器了——selenium。严格来讲,selenium是一个自动化测试的工具,不过用来做爬虫也是极好的。它可以获取到js加载后的页面,从而拿到直接请求拿不到的东西,实现“所见即所得”。所谓“工欲善其事,必先利其器”。使用selenium最重要的是要先安装好浏览器的驱动,这样selenium才可以...

2018-10-03 10:14:06 16026 1

原创 python爬虫中一个str类型的unicode字符串转成中文的问题

本文主要介绍部分爬虫在遇到%u5317%u4eac%u70e4%u9e2d这种类似unicode编码的str类型数据时,无法直接使用decode('unicode-escape')方法来转成中文的时候,一个转码的解决方案,以及这个方案的思路!今天在爬一个网站的时候,遇到了一个网站,它的一些数据是通过ajax加载进来的一段json,它的value部分的内容是像下面这样子的:%20%20%20...

2018-09-29 11:36:58 4080 3

原创 scrapy使用随机User-Agent

scrapy使用随机User-Agent众所周知,User-Agent值是用来帮助服务器识别用户使用的操作系统、浏览器、浏览器版本等等信息的,因此也常被用来检测爬虫。许多网站会ban掉来自爬虫的请求,来达到反爬的目的。正常浏览器的User-Agent值为:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 F...

2018-09-18 01:57:43 493

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除