皮皮王的专栏

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

排序:
默认
按更新时间
按访问量

scrapy源码翻译解读

点击打开链接

2018-05-23 11:21:31

阅读数:3

评论数:0

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

pr传送门

2018-05-18 18:01:45

阅读数:26

评论数:2

Nifi国际化支持补丁

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

2018-03-09 17:12:21

阅读数:446

评论数:1

Ambari2.0.0汉化

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

2016-03-04 17:15:50

阅读数:4920

评论数:14

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

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

2018-05-22 16:22:13

阅读数:5

评论数:0

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

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

2018-05-22 16:13:28

阅读数:3

评论数: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

阅读数:3

评论数:0

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

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

2018-05-22 14:48:46

阅读数:6

评论数:0

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

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

2018-05-21 18:00:24

阅读数:4

评论数: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

阅读数:8

评论数: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

阅读数:14

评论数:2

从源码开始学习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

阅读数:26

评论数:0

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

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

2018-05-18 15:08:25

阅读数:31

评论数:0

从源码开始学习Scrapy系列06-fetch指令

前言fetch指令是通过scrapy下载器对给定的一个url进行抓取,并将抓取结果进行输出代码调试进入fetch模块的run方法参数校验,如果参数不是1个或者不是标准的url格式,则抛出用法错误:if len(args) != 1 or not is_url(args[0]): raise...

2018-05-18 11:12:29

阅读数:29

评论数:0

从源码开始学习Scrapy系列05-edit指令

代码调试进入edit模块的run方法获取EDITOR配置editor = self.settings['EDITOR']配置内容其实就是一个编辑指令EDITOR = 'vi' if sys.platform == 'win32': EDITOR = '%s -m idlelib.idle'...

2018-05-17 18:43:26

阅读数:39

评论数:0

从源码开始学习Scrapy系列04-check指令

前言上一章我们学习了check指令以及指令的运行机制,这一章我们学习check指令,这个指令是用于执行 Spider 的Conract检查,Contract 的作用就是通过一系列的简单约定来替代单元测试代码调试打开check模块,直接定位到run方法1.获取系统基础的contracts类路径con...

2018-05-17 16:58:03

阅读数:26

评论数:0

从源码开始学习Scrapy系列03-bench指令及指令运行机制

代码调试接着上一章节,在cmdline模块中的main方法中或者直接在__main__模块中的main方法中,改成如下代码:if __name__ == '__main__': execute(['scrapy','bench'])并在此方法处下断点,随后继续debug模式调试读取系统默认...

2018-05-17 11:51:58

阅读数:123

评论数:0

从源码开始学习Scrapy系列02-从命令行开启项目入口

前言这篇算是真正的源码剖析开始了,你即将成为一个真正的男人哦=。=,哈哈准备工作(1)如果当前scrapy项目所处的python环境中有scrapy的包,那么需要注意的是当前项目如果也叫scrapy,那么就不必要担心会引入site-package中的scrapy,因为当前目录的自定义模块优先级要高...

2018-05-15 11:47:43

阅读数:71

评论数:0

从源码开始学习Scrapy系列01-源码整理/分割/文档编译

一.准备工作首先下载scrapy源代码:git clone https://github.com/scrapy/scrapy.git自此开始根据源码中的要求来配置环境,这里我们定义下载的源码根项目叫做comScrapy,然后打开comScrapy/setup.py查看:python_require...

2018-05-11 14:44:55

阅读数:43

评论数:0

nginx常用配置简介

简介Nginx 的安装就不解释了,方便起见,建议在各平台可以直接执行对应安装命令:# CentOSyum install nginx;# Ubuntusudo apt-get install nginx;# Macbrew install nginx;一般可以在 /etc/nginx/nginx....

2018-05-11 13:44:29

阅读数:24

评论数:0

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