scrapy
文章平均质量分 60
Easy_to_python
这个作者很懒,什么都没留下…
展开
-
scrapy-redis(四):使用xpath时的一个小细节
在解析网页的时候,我们一般情况下使用的是xpath,因为xpath定位很精准,基本上不会出现定位错位,获取到脏数据的情况。xpath使用起来也是非常的方便,firefox就有xpath的插件,可以直接定位获取到一个元素,而不用我们手动的去寻找。比如下面就是一个典型的利用浏览器获取到的xpath: 这个xpath的定位是非常精准的,绝对不会出现定位错误,但是最后我们却发现获取不到想要的数据,这是原创 2016-12-04 12:29:43 · 1094 阅读 · 0 评论 -
scrapy-redis介绍(一)
scrapy是python里面一个非常完善的爬虫框架,实现了非常多的功能,比如内存检测,对象引用查看,命令行,shell终端,还有各种中间件和扩展等,相信开发过scrapy的朋友都会觉得这个框架非常的强大。但是它有一个致命的缺点,不支持分布式。所以本文介绍的是scrapy_redis,继承了scrapy的所有优点,还支持分布式。1.安装scrapy安装scrapy非常简单:sudo pip inst原创 2016-11-22 22:11:53 · 13437 阅读 · 0 评论 -
scrapy-redis(五):scrapy中信号工作的原理
scrapy有内置的信号,比如spider_opened,spider_closed,item_dropped等等。我们可以利用这些信号来做一些初始化的工作和数据收集统计。比如spider_opened信号就方便了我们在爬虫启动的时候,创建到数据库的连接等,item_dropped的信号就方便我们去收集在爬虫工作的期间,收集被丢弃的item的数量等等。这篇文章不是告诉大家如何使用scrapy信号的,原创 2016-12-05 14:43:28 · 4696 阅读 · 2 评论 -
scrapy-redis(六):scrapy中如何定时的运行一个任务
相信开发过scrapy的朋友对scrapy终端的日志输出非常熟悉,它会间隔一段时间输出抓取的状态,比如最近60秒内,抓取了几个网页,成功获取到了几个item。这些对于我们观察spider的运行是非常有用的,我们可以观测spider的抓取情况,速度是否在预期之中等等。有时候,我们也需要自定义一个extension,用来定时的收集scrapy的stats,然后利用这些stats进行绘制图形,这样我们就可原创 2016-12-07 15:59:57 · 5923 阅读 · 1 评论 -
scrapy-redis(二)
在scrapy中帮助我们进行一些预处理的组件称之为middleware。比如将request对象交给下载器下载之前,就会通过下载中间件的process_request()方法。这些中间件的用处非常大,我们可以详细的了解,以方便编写自己的中间件。1.spider-middleware 该中间件位于spider和engine之间,按照我们给出的数字依次从小到大,顺序执行。数字越小的中间件越靠近engi原创 2016-11-23 15:50:35 · 2437 阅读 · 3 评论 -
scrapy-redis介绍(三):如何自定义user-agent
一般情况下,我们在编写爬虫的时候都会不停的更换用户代理,这样就可以降低被ban掉的风险。在scrapy中,默认会给我们一个user-agent,这明显是不可以直接拿来用的,所以,我们需要修改这一部分,以便每个request对象在交给下载器之前,都会随机获取一个标准浏览器的user-agent,尽最大可能的模拟真实用户的请求。具体实现是通过request对象的headers属性,以及自定义一个down原创 2016-12-01 11:23:32 · 3322 阅读 · 0 评论 -
scrapy-redis(八):安装scrapy监控app--graphite
graphite是基于python创建的一个web监控程序,分三个部分组成: (1)carbon:一个twisted守护进程,用于监听时间序列的数据。 (2)whisper:数据库,用于存放时间序列的数据 (3)graphite-web:从whisper中获取数据,然后绘制成图形,并在网页中展示出来。一个配置好的graphite,如下图所示: 下面就上图给大家详细介绍一下安装步骤。我是在云主原创 2017-01-01 19:53:32 · 3558 阅读 · 2 评论 -
scrapy-redis(七):部署scrapy
一般我们写好scrapy爬虫,如果需要启动的话,需要进入scrapy项目的根目录,然后运行以下命令:scrapy crawl {spidername}这样我们就可以在终端查看到爬虫信息了。但爬虫运行状态还需要给上级领导看,或者自己有空的时候就看看,总不可能想看的时候就登录服务器。下面就给大家介绍scrapy官方推荐的部署爬虫项目的方法。 需要安装scrapyd和scrapyd-client对于sc原创 2016-12-27 16:24:49 · 4128 阅读 · 3 评论