自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 Flask系列教程(二)--------------使用SQLAlchemy创建数据模型

创建user表Z:\python\flask_tutorials>python manage.py shell>>> db.create_all()2016-12-30 22:58:44,661 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1

2016-12-31 19:57:03 12734 3

原创 Flask系列教程(一)-----------入门

安装flaskpip3 install flask使用git做版本管理mkdir flask_tutorialscd flash_tutorilasgit init过滤文件touch .gitignorezhangxa@ubuntu:~/python/flask_tutorials$ cat .gitignoreenv/*.pyc

2016-12-28 21:46:37 34876 3

原创 Celery源码分析(三)---------Blueprint

上一节讲到任务执行单元Worker主要维护了一个Blueprint对象,Worker的启动主要就是启动Blueprint对象,这一节我们来详细看下Blueprint.首先,还是先看下时序流程图:结合时序图进行分析:1.在Worker调用setup_instance时会构造Blueprint,这个Blueprint是个内部类,里面定义了其default_s

2016-12-26 22:41:10 2132

转载 异步任务神器 Celery 简明笔记

转自:https://funhacks.net/2016/12/13/celery/Celery在程序的运行过程中,我们经常会碰到一些耗时耗资源的操作,为了避免它们阻塞主程序的运行,我们经常会采用多线程或异步任务。比如,在 Web 开发中,对新用户的注册,我们通常会给他发一封激活邮件,而发邮件是个 IO 阻塞式任务,如果直接把它放到应用当中,就需要等邮件发出去之后才能进行下一步操作

2016-12-26 21:57:24 2994

原创 Celery源码分析(二)--------任务执行单元Worker的流程

上一节中讲到通过命令行构造"celery.apps.worker::Worker"对象,然后就调用Worker对象的start方法启动Worker.因此,这个Worker对象是一个核心对象,下面着重对其分析。下面是Worker对象构造函数和start函数的时序图,对照流程图分析:

2016-12-25 21:53:40 3720

原创 Celery源码分析(一)-------------从命令执行到生成Worker

从今天起开始Celery源码分析系列文章。有需要的同学可以关注一上下,主要目的就是理清celery的核心对象及处理流程,方便大家学习。大家有需要详细讲解的部分可以告诉我,如果有时间会详细讲解和解答,感谢大家的支持。第一篇从一个常用的命令"celery -A tasks worker"开始,讲述从命令执行开始到生成Worker对象的流程。下面是涉及到的对象的时序图:

2016-12-25 13:04:14 6565

原创 scrapy源码分析(十二)---------下载中间件RobotsTxtMiddleware

上一节分析了下载器的源码,知道了一个request经过middleware到handler下载返回response,response再经过middleware,最后由scraper处理的流程。其中正是middleware的存在使我们对下载和解析的控制有很大的灵活性,我们可以自定义中间件来个性化我们的需求。这一节就分析一下middleware在整个下载流程中所发挥的关键作用。我们从默

2016-12-13 23:37:47 2635

原创 scrapy源码分析(十一)----------下载器Downloader

经过前面几篇的分析,scrapy的五大核心组件已经介绍了4个:engine,scheduler,scraper,spidemw。还剩 最后一个downloader,这个下载器关系到了网页如何下载,内容相对来说是最为复杂的一部分,这篇教程就逐步分析其源码。下载操作开始于engine的_next_request_from_scheduler,这个方法已经不止一次提到过,这次只列出关键代

2016-12-11 17:57:04 8875

原创 scrapy源码分析(十)------------Scraper

上一节分析了Scheduler的源码,这一节分析ExecutionEngine的另外一个关键对象Scraper.Scraper的主要作用是对网络蜘蛛中间件进行管理,通过中间件完成请求,响应,数据分析等工作。先从构造函数分析起:scrapy/core/scraper.py:class Scraper(object): def __init__(self, c

2016-12-10 13:01:40 4135

原创 scrapy源码分析(九)-----------Scheduler

上一节有几个类还没具体分析,如Scheduler和Scraper,这一节先分析Scheduler的源码。scrapy/core/scheduler.py:在分析engine的open_spider函数时,我们讲过scheduler对象是通过类的from_cralwer方法生成的,我们先看下这个方法的实现:@classmethoddef from_crawler(c

2016-12-07 23:15:51 4485 1

原创 scrapy源码分析(八)--------ExecutionEngine

上一节分析了Crawler的源码,其中关键方法crawl最后会调用ExecutionEngine的open_spider和start方法。本节就结合ExecutionEngine的源码进行详细分析。open_spider方法:scrapy/core/engine.py:@defer.inlineCallbacksdef open_spider(self, spider,

2016-12-05 23:32:43 3270 4

原创 scrapy源码分析(七)------------ Crawler

上一节讲了CrawlProcess的实现,讲了一个CrawlProcess可以控制多个Crawler来同时进行多个爬取任务,CrawlProcess通过调用Crawler的crawl方法来进行爬取,并通过_active活动集合跟踪所有的Crawler.这一节就来详细分析一下Crawler的源码。先分析构造函数的关键代码:scrapy/crawler.py:class C

2016-12-04 22:50:10 9711 2

原创 scrapy源码分析(六)---------------CrawlProcess

上一篇教程中讲到crawl命令最终会执行CrawlProcess的crawl和start方法。这一篇对CrawlProcess的源码进行详细分析,来了解一下是如何进行爬取任务的。先看一下CrawlProcess的构造函数:scrapy/crawler.py:可以看到这个模块一共有3个类:Crawler,CrawlerRunner,CrawlerProcess.Crawler代表了一

2016-12-04 13:19:18 6076 3

原创 scrapy源码分析(五)--------------execute函数分析

通过前四篇教程,相信大家对scrapy的总流程和核心组件都有了一定的认识。这样再结合源码对总流程进行梳理,应该能够更清楚的理解总的执行流程。后面的教程将会结合源码,对主要的函数和模块详细分析。还是以scrapy crawl xxxSpider命令为例,结合代码进行讲解。首先,来看一下scrapy命令的实现:/usr/local/bin/scrapy:代码很简单,只是执行

2016-12-02 22:57:09 7919

原创 scrapy源码分析(四)-------spider篇------网页爬取流程分析(一)

本篇教程中主要介绍爬虫类spider如何分析下载到的页面,并从中解析出链接继续进行跟踪的框架。源码分析(一)中流程图中讲到Crawler在创建执行引擎ExecutionEngin后,会从spider中获取初始请求列表,代码如下:scrapy/cralwer.py:@defer.inlineCallbacksdef crawl(self, *args, **kwargs

2016-12-01 22:56:53 8645 1

openstack资料

openstack相关资料

2017-01-18

空空如也

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

TA关注的人

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