背景
想要做一个垂直搜索的平台,初始的数据是王道,之后的数据来源希望依赖于“众包”。刚开始想使用Nutch,因为能与solr,lucene兼容。但是Nutch是个通用的爬虫,可能不适合我的需求。我的需求是定向抓取,也不包括链接分析,站点发现等。而且Nutch的源只提供1.6后的版本,体验了之后发现网上现有的许多资料不太适合。于是尝试使用Scrapy这个python写成的爬虫框架。他是一个事件驱动的网络框架,可以针对页面定制自己的爬虫需求,并且扩展和编写比较简单。
安装使用
Scrapy的安装需要关联不少python的类库。建议仔细参考文档的步骤。这里有两份Scrapy安装和Scrapy入门使用的文档,是官网文档的中文翻译。根据第一篇文档,安装好Python环境,Twisted,setuptool等内容后可以正常启动Scrapy。我自己使用的是Scrapy1.4版本,如果使用1.6版本的还需要自己安装libxslt。注意Python版本和各个库的版本兼容问题,只要完全按照文档里的顺序下去,就不会搞错。
我也尝试爬了下自己CSDN博客主页的url内容,使用起来比较简单,而且速度快。虽然是第一次使用python,在扩展爬虫类和添加规则的时候觉得并不困难。关键还是在对目标页面的结构分析,通过XPath的规则提取出需要的内容,以json的格式输出或者存在磁盘上。
这里有一篇简单分析Scrapy架构的文章。
总结
最后提供一篇Scrapy使用者的经验文章,在scrapy性能,缺点,增量爬取,高效存储方面都点到了些。等有更进阶的使用经验之后会再进行分享。
分享到:
相关推荐
Scratch,是抓取的意思,这个Python的爬虫框架叫Scrapy,大概也是这个意思吧,就叫它:小刮刮吧。 小刮刮是一个为遍历爬行网站、分解获取数据而设计的应用程序框架,它可以应用在广泛领域:数据挖掘、信息处理和或者...
1 爬虫示例 要实现爬虫功能,只要执行四个步骤: 定义spider 类 确定 spider 的名称(name) 获取初始化请求(start_request) 解析数据 parse() 1.1 示例1 重写 start_request() 方法 示例1:重写 start_request() ...
【课程简介】 本课程适合所有需要弥补python网络爬虫的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。 【全套课程列表】 01-Requests库入门(共59页...12-实例4-股票数据定向Scrapy爬虫(共23页).pptx
【课程简介】 本课程适合所有需要弥补python网络爬虫的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。...Python网络爬虫教程 数据采集 信息提取课程 12-实例4-股票数据定向Scrapy爬虫(共23页).pptx
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改,下面这篇文章主要给大家介绍了关于Python抓取框架Scrapy爬虫入门之页面提取的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考...
通过对scrapy框架的几大组成模型通俗细致的讲解,让大家可以非常清楚地理解scrapy框架的整体工作流程。
scrapy爬虫框架课程,包含全部课件与代码课程纲要:1.scrapy的概念作用和工作流程2.scrapy的入门使用3.scrapy构造并发送请求4.scrapy模拟登陆5.scrapy管道的使用6.scrapy中间件的使用7.scrapy_redis概念作用和流程8....
scrapy爬虫框架课程,包含全部课件与代码 课程纲要: 1.scrapy的概念作用和工作流程 2.scrapy的入门使用 3.scrapy构造并发送请求 4.scrapy模拟登陆 5.scrapy管道的使用 6.scrapy中间件的使用 7.scrapy_redis概念作用...
python3.7 scrapy简单爬虫入门基于 http://www.okhqb.com/ 网站的简单示例。。
1 scrapy 安装 1.1 scrapy 安装 进入 cmd 界面,使用命令: pip install scrapy 1.2 安装问题 如果因为权限原因导致安装失败,就以管理员身份运行 cmd,再使用上面的命令。 如果出现 Microsoft Visual C++14.0 is ...
1 反爬虫技术及突破措施 1.1 降低请求频率 降低请求频率以模仿人类用户,而不是机器。 settings.py中设置DOWNLOAD_DELAY即可 # 即两次请求间隔为 3 秒 DOWNLOAD_DELAY = 3 另外,为了防止请求过于规律,可以使用...
言归正传,最近想用爬虫抓取一些内容来充实自己的博客,以前用过phpspider,基本能满足要求,但是不够强大,所以选用Scrapy,顺便回忆一下快忘光的Python,谁让它这么火呢。由于不是职业的Web开发者,因此环境是基于...
scrapy genspider stocks qq.com创建爬虫 东方财富网 + 腾讯证券 stocks.py # -*- coding: utf-8 -*- import scrapy import re class StocksSpider(scrapy.Spider): name = 'stocks' start_urls = ['http://quot
Python-Scrapy 入门级爬虫项目实战 糗事百科段子爬取
Redis 是一个高性能的key-value数据库。它将数据保存在内存中,因此可以实现非常快的存取速度。
【课程简介】 本课程适合所有需要弥补python网络爬虫的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。...Python网络爬虫教程 数据采集 信息提取课程 12-实例4-股票数据定向Scrapy爬虫(共23页).pptx
Scrapy爬虫框架 python软件 Python基础班 python电子书 Django框架 05 精选Python好书 02 进阶实战 Python高级开发实战视频(共14集) 02 基础提高 零基础入门学习Python(全42集)☆☆☆☆☆推荐 01 进阶实战...
其中包括爬虫入门,虚拟环境搭建,对scrapy的调试,对动态网站的爬取,scrapy与mysql的使用,scrapy-redis分布式爬虫的使用, elasticsearch搜索引擎的使用, scrapyd部署scrapy爬虫。等相关内容