皮皮王的专栏

本博客只是个人笔记,非正常实践时间,不对任何人负责,水平有限,只供参考,Nifi大师群:492666008...

scrapy源码翻译解读

点击打开链接

2018-05-23 11:21:31

阅读数 511

评论数 0

Nifi国际化支持补丁

普惠众生,愿程序员们永无bug!(很久之前做汉化的工作,这次给大家分享之前提的pr,内容包含汉化源代码,汉化方式,原理,自行阅读研究。)PR传送门...

2018-03-09 17:12:21

阅读数 1304

评论数 1

Ambari2.0.0汉化

自2.2.0之后就支持国际化了,但也需要manually去翻译,ambari基础汉化已完成,在公司计划将其贡献hortonworks之前,不做多余分享,有学习目的的同学,可以留言交流。

2016-03-04 17:15:50

阅读数 5962

评论数 14

Google play内购凭证校验

Necessary steps: Make an API project, from the API Access link in your Google Play console Make a new service account,savethe JSON private ke...

2019-03-13 18:17:05

阅读数 1138

评论数 1

【安全预警】WINRAR,7ZIP,WINZIP等存在严重漏洞

【漏洞说明】 WinRAR等被曝严重安全漏洞,该漏洞可被攻击者绕过权限提升就能运行WinRAR,而且可以直接将恶意文件放进Windows系统的启动文件夹中。这就意味着当用户下次重新开机的时候,这些恶意文件就能自动运行,让攻击者“完全控制”受害者的计算机。目前全球有超过5亿用户受到WinRAR漏洞...

2019-02-21 15:11:45

阅读数 323

评论数 0

gRPC 使用protobuf 构建微服务

本文目录: gRPC 使用protobuf 构建微服务   微服务架构 单一的代码库 以前使用Laravel 做web 项目时,是根据MVC 去划分目录结构的,即Controller 层处理业务逻辑,Model 层处理数据库的CURD,View 层处理数据渲染与页面交互。以及MVP、...

2018-10-26 14:59:21

阅读数 163

评论数 0

HTTP2简介和基于HTTP2的Web优化

时值公司全面切换到HTTPS和HTTP/2,讨论HTTP/2有了更现实的意义。以前也断断续续看了些文章,做了些了解,这里算作一个学习和总结吧。 本文定位入门级别,分作两大块: HTTP/2是什么 基于HTTP/2前端可以做什么优化 本文参考了一些博文和资料,后面已列出,感谢他们的分享。 H...

2018-10-25 19:08:25

阅读数 692

评论数 0

Swagger-如何编写基于OpenAPI规范的API文档

前言 编写目的 本文介绍如何使用Swagger编写API文档。通过阅读本文,你可以: 了解swagger是什么 掌握使用swagger编写API文档的基本方法 涉及范围 本文包括对swagger specification(以下译作”规范“)的介绍,如何使用swaager协议编写出功...

2018-10-25 17:11:27

阅读数 1526

评论数 0

Portainer -- Docker可视化管理工具的安装配置及使用

Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中...

2018-09-05 16:53:38

阅读数 315

评论数 0

python多个装饰器的执行顺序

装饰器函数的执行顺序是分为(被装饰函数)定义阶段和(被装饰函数)执行阶段的,装饰器函数在被装饰函数定义好后立即执行   在函数定义阶段:执行顺序是从最靠近函数的装饰器开始,自内而外的执行 在函数执行阶段:执行顺序由外而内,一层层执行 代码如下:     def war1(fun...

2018-08-19 11:20:32

阅读数 443

评论数 1

从源码开始学习Scrapy系列15-view指令

前言view指令用于(内部使用fetch指令)下载指定url内容,并将response内容在浏览器上展示出来代码调试进入view模块的run方法,哦。。。。。发现没有run方法,就找他爹的run方法class Command(fetch.Command):进入fetch模块的run方法,随后转至:...

2018-05-22 16:22:13

阅读数 311

评论数 0

从源码开始学习Scrapy系列14-version指令

前言version指令用于查看scrapy或包含相关依赖组件的版本信息代码调试进入version模块的run方法--version参数,输出各个依赖组件版本内容if opts.verbose: versions = scrapy_components_versions() widt...

2018-05-22 16:13:28

阅读数 117

评论数 0

从源码开始学习Scrapy系列13-startproject指令

前言startproject指令用于快速创建scrapy项目代码调试获取项目名,项目目录project_name = args[0] project_dir = args[0]判定当前项目目录是否存在scrapy.cfg文件if exists(join(project_dir, 'scrapy.c...

2018-05-22 16:04:26

阅读数 298

评论数 0

从源码开始学习Scrapy系列12-shell指令

前言shell指令是提供一个普通的python终端,提供了一些额外的快捷方式,其本意是用来测试提取数据的代码,用来测试XPath或CSS表达式,查看他们的工作方式及从爬取的网页中提取的数据代码调试进入shell模块的run方法url参数校验处理url = args[0] if args else ...

2018-05-22 14:48:46

阅读数 115

评论数 0

从源码开始学习Scrapy系列11-settings指令

前言settings指令用来获取当前爬虫指定配置项的配置信息代码调试进入settings模块的run方法获取当前爬虫进程的settings配置,这里就涉及到如果是在scrapy项目中运行,则项目的settings配置优先,有覆盖权利,否则使用系统默认的settings,这个之前说过,在此再次废话一...

2018-05-21 18:00:24

阅读数 119

评论数 0

从源码开始学习Scrapy系列10-runspider指令

前言runspider命令用于直接通过输入文件来运行爬虫,即可不创建项目代码调试进入runspider模块的run方法输入参数校验if len(args) != 1: raise UsageError() filename = args[0] if not os.path.exists(f...

2018-05-21 17:26:50

阅读数 396

评论数 0

从源码开始学习Scrapy系列09-parse指令

前言parse指令用于返回requests和items对象,可用于一个爬虫的单元测试,检验抓取结果代码调试进入parse模块的run方法初始化spidercls对象self.set_spidercls(url, opts)def set_spidercls(self, url, opts): ...

2018-05-21 16:35:21

阅读数 234

评论数 2

scrapy bug修复,解决scrapy parse指令,输入不匹配的url时候抛出异常,issues #3264

pr传送门

2018-05-18 18:01:45

阅读数 223

评论数 1

从源码开始学习Scrapy系列08-list指令

前言list指令是输出当前可用的爬虫名列表代码调试进入list的run方法这里看到只有两行代码for s in sorted(self.crawler_process.spider_loader.list()): print(s)深入了解self.crawler_process.spide...

2018-05-18 15:37:07

阅读数 213

评论数 0

从源码开始学习Scrapy系列07-genspider指令

前言genspider用于生成爬虫,与startproject不同的是,它只是生成爬虫模块文件,而startproject是生成整个scrapy项目。默认使用base模板,使用-l参数可以查看可用的所有模板Available templates:  basic  crawl  csvfeed  x...

2018-05-18 15:08:25

阅读数 298

评论数 0

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