摘要: Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程。 在linux系统中,线程就是轻量级的进程,而我们通常也把协程称阅读全文
posted @ 2017-09-17 18:32 python修行路 阅读(164) 评论(0) 编辑
摘要: pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行编写,而pycharm提供了非常便捷的方式。具体实现在windows上远程linux开发和调试的代码阅读全文
posted @ 2017-09-11 23:56 python修行路 阅读(333) 评论(2) 编辑
摘要: 因为现在很多网站为了限制爬虫,设置了为只有登录才能看更多的内容,不登录只能看到部分内容,这也是一种反爬虫的手段,所以这个文章通过模拟登录知乎来作为例子,演示如何通过scrapy登录知乎 在通过scrapy登录知乎之前,我们先通过requests模块登录知乎,来熟悉这个登录过程 不过在这之前需要了解的阅读全文
posted @ 2017-08-21 20:29 python修行路 阅读(687) 评论(2) 编辑
摘要: 总架构理解Middleware 通过scrapy官网最新的架构图来理解: 这个图较之前的图顺序更加清晰,从图中我们可以看出,在spiders和ENGINE提及ENGINE和DOWNLOADER之间都可以设置中间件,两者是双向的,并且是可以设置多层. 关于Downloader Middleware我在阅读全文
posted @ 2017-08-11 14:39 python修行路 阅读(351) 评论(0) 编辑
摘要: 爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序反爬虫:使用技术手段防止爬虫程序爬取数据误伤:反爬虫技术将普通用户识别为爬虫,这种情况多出现在封ip中,例如学校网络、小区网络再或者网络网络都是共享一个公共ip,这阅读全文
posted @ 2017-08-09 16:53 python修行路 阅读(1638) 评论(23) 编辑
摘要: 按照上一篇文章中我们将代码放到远程主机是通过拷贝或者git的方式,但是如果考虑到我们又多台远程主机的情况,这种方式就比较麻烦,那有没有好用的方法呢?这里其实可以通过scrapyd,下面是这个scrapyd的github地址:https://github.com/scrapy/scrapyd 当在远程阅读全文
posted @ 2017-08-08 20:41 python修行路 阅读(538) 评论(3) 编辑
摘要: 关于Scrapy工作流程回顾 Scrapy单机架构 上图的架构其实就是一种单机架构,只在本机维护一个爬取队列,Scheduler进行调度,而要实现多态服务器共同爬取数据关键就是共享爬取队列。 分布式架构 我将上图进行再次更改 这里重要的就是我的队列通过什么维护?这里一般我们通过Redis为维护,Re阅读全文
posted @ 2017-08-08 13:31 python修行路 阅读(586) 评论(8) 编辑
摘要: Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。 该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一阅读全文
posted @ 2017-08-07 14:40 python修行路 阅读(261) 评论(0) 编辑
摘要: 常见的登录方式有以下两种: 上面只是简单的描述,下面是详细的针对两种登录方式的时候爬虫的处理方法 第一种情况 这种例子其实也比较多,现在很多网站的登录都是第一种的方法,这里通过以github为例子: 分析页面 获取authenticity_token信息 我们都知道登录页面这里都是一个form表单提阅读全文
posted @ 2017-08-04 11:59 python修行路 阅读(650) 评论(5) 编辑
摘要: 在上一篇文章中主要写了关于爬虫过程的分析,下面是代码的实现,完整代码在:https://github.com/pythonsite/spider items中的代码主要是我们要爬取的字段的定义 这些字段的是在用户详细信息里找到的,如下图所示,这里一共有58个字段,可以详细研究每个字段代表的意思: 关阅读全文
posted @ 2017-07-24 11:40 python修行路 阅读(1202) 评论(0) 编辑
摘要: 爬取的思路 首先我们应该找到一个账号,这个账号被关注的人和关注的人都相对比较多的,就是下图中金字塔顶端的人,然后通过爬取这个账号的信息后,再爬取他关注的人和被关注的人的账号信息,然后爬取被关注人的账号信息和被关注信息的关注列表,爬取这些用户的信息,通过这种递归的方式从而爬取整个知乎的所有的账户信息。阅读全文
posted @ 2017-07-21 02:42 python修行路 阅读(1191) 评论(5) 编辑
摘要: 关于cookie和session估计很多程序员面试的时候都会被问到,这两个概念在写web以及爬虫中都会涉及,并且两者可能很多人直接回答也不好说的特别清楚,所以整理这样一篇文章,也帮助自己加深理解 什么是Cookie 其实简单的说就是当用户通过http协议访问一个服务器的时候,这个服务器会将一些Nam阅读全文
posted @ 2017-07-20 15:00 python修行路 阅读(843) 评论(2) 编辑
摘要: 这篇文章中写了常用的下载中间件的用法和例子。Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给spiders的时候,所以从这里我们可以知道下载中间件是介于Scrapy的request/response处理的钩子,用于修改阅读全文
posted @ 2017-07-18 01:07 python修行路 阅读(930) 评论(4) 编辑
摘要: 当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为,同时也决定此Item是否继续通过pipeline,或者被丢弃而不再进行处理 item pipelin阅读全文
posted @ 2017-07-17 16:39 python修行路 阅读(777) 评论(0) 编辑
摘要: Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据,总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 我们以通过简单的分析源码来理解我通常在写spiders下写爬虫的时候,我们并没有写start_requests来处理start_urls中的阅读全文
posted @ 2017-07-17 00:04 python修行路 阅读(403) 评论(0) 编辑
摘要: Scrapy提取数据有自己的一套机制,被称作选择器(selectors),通过特定的Xpath或者CSS表达式来选择HTML文件的某个部分Xpath是专门在XML文件中选择节点的语言,也可以用在HTML上。CSS是一门将HTML文档样式化语言,选择器由它定义,并与特定的HTML元素的样式相关联。 X阅读全文
posted @ 2017-07-16 10:31 python修行路 阅读(462) 评论(2) 编辑
摘要: 这篇文章主要是对的scrapy命令行使用的一个介绍 创建爬虫项目 scrapy startproject 项目名例子如下: 这个时候爬虫的目录结构就已经创建完成了,目录结构如下: 接着我们按照提示可以生成一个spider,这里以百度作为例子,生成spider的命令格式为;scrapy genspid阅读全文
posted @ 2017-07-15 16:13 python修行路 阅读(381) 评论(0) 编辑
摘要: 这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的在python3上运行Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是事件驱动的,并且比较适合异步的代码。对于会阻塞线程的操作包含访问文件、数据库或者Web、产生新的进程阅读全文
posted @ 2017-07-15 09:48 python修行路 阅读(460) 评论(0) 编辑
摘要: 这里是通过爬取伯乐在线的全部文章为例子,让自己先对scrapy进行一个整理的理解 该例子中的详细代码会放到我的github地址:https://github.com/pythonsite/spider/tree/master/jobboleSpider 注:这个文章并不会对详细的用法进行讲解,是为了阅读全文
posted @ 2017-07-14 23:10 python修行路 阅读(894) 评论(0) 编辑
摘要: 这里我们通过请求网页例子来一步步理解爬虫性能 当我们有一个列表存放了一些url需要我们获取相关数据,我们首先想到的是循环 简单的循环串行 这一种方法相对来说是最慢的,因为一个一个循环,耗时是最长的,是所有的时间总和代码如下: 通过线程池 通过线程池的方式访问,这样整体的耗时是所有连接里耗时最久的那个阅读全文
posted @ 2017-07-14 16:25 python修行路 阅读(292) 评论(5) 编辑
摘要: Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程。 在linux系统中,线程就是轻量级的进程,而我们通常也把协程称阅读全文
posted @ 2017-09-17 18:32 python修行路 阅读(164) 评论(0) 编辑
摘要: pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行编写,而pycharm提供了非常便捷的方式。具体实现在windows上远程linux开发和调试的代码阅读全文
posted @ 2017-09-11 23:56 python修行路 阅读(333) 评论(2) 编辑
摘要: 因为现在很多网站为了限制爬虫,设置了为只有登录才能看更多的内容,不登录只能看到部分内容,这也是一种反爬虫的手段,所以这个文章通过模拟登录知乎来作为例子,演示如何通过scrapy登录知乎 在通过scrapy登录知乎之前,我们先通过requests模块登录知乎,来熟悉这个登录过程 不过在这之前需要了解的阅读全文
posted @ 2017-08-21 20:29 python修行路 阅读(687) 评论(2) 编辑
摘要: 总架构理解Middleware 通过scrapy官网最新的架构图来理解: 这个图较之前的图顺序更加清晰,从图中我们可以看出,在spiders和ENGINE提及ENGINE和DOWNLOADER之间都可以设置中间件,两者是双向的,并且是可以设置多层. 关于Downloader Middleware我在阅读全文
posted @ 2017-08-11 14:39 python修行路 阅读(351) 评论(0) 编辑
摘要: 爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序反爬虫:使用技术手段防止爬虫程序爬取数据误伤:反爬虫技术将普通用户识别为爬虫,这种情况多出现在封ip中,例如学校网络、小区网络再或者网络网络都是共享一个公共ip,这阅读全文
posted @ 2017-08-09 16:53 python修行路 阅读(1638) 评论(23) 编辑
摘要: 按照上一篇文章中我们将代码放到远程主机是通过拷贝或者git的方式,但是如果考虑到我们又多台远程主机的情况,这种方式就比较麻烦,那有没有好用的方法呢?这里其实可以通过scrapyd,下面是这个scrapyd的github地址:https://github.com/scrapy/scrapyd 当在远程阅读全文
posted @ 2017-08-08 20:41 python修行路 阅读(538) 评论(3) 编辑
摘要: 关于Scrapy工作流程回顾 Scrapy单机架构 上图的架构其实就是一种单机架构,只在本机维护一个爬取队列,Scheduler进行调度,而要实现多态服务器共同爬取数据关键就是共享爬取队列。 分布式架构 我将上图进行再次更改 这里重要的就是我的队列通过什么维护?这里一般我们通过Redis为维护,Re阅读全文
posted @ 2017-08-08 13:31 python修行路 阅读(586) 评论(8) 编辑
摘要: Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。 该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一阅读全文
posted @ 2017-08-07 14:40 python修行路 阅读(261) 评论(0) 编辑
摘要: 常见的登录方式有以下两种: 上面只是简单的描述,下面是详细的针对两种登录方式的时候爬虫的处理方法 第一种情况 这种例子其实也比较多,现在很多网站的登录都是第一种的方法,这里通过以github为例子: 分析页面 获取authenticity_token信息 我们都知道登录页面这里都是一个form表单提阅读全文
posted @ 2017-08-04 11:59 python修行路 阅读(650) 评论(5) 编辑
摘要: 站在圈外看待小米公司发展史 想起多少年前甚至还是诺基亚的时代的时候,我用的第一部手机还是诺基亚5310,至今还能回想起拿到手机的喜悦感。随着后来苹果的发布,安卓的盛行,直到小米的出现,小米当时也成“火爆预约抢购”的代名词,多少人当年守在电脑前鼠标都差点点坏了也没有抢到一部小米手机。而现在我们看待小米阅读全文
posted @ 2017-07-28 15:36 python修行路 阅读(139) 评论(0) 编辑