Scrapy爬虫入门

简介:

背景

想要做一个垂直搜索的平台,初始的数据是王道,之后的数据来源希望依赖于“众包”。刚开始想使用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性能,缺点,增量爬取,高效存储方面都点到了些。等有更进阶的使用经验之后会再进行分享。



目录
相关文章
|
4月前
|
数据采集 存储 数据处理
Scrapy:Python网络爬虫框架的利器
在当今信息时代,网络数据已成为企业和个人获取信息的重要途径。而Python网络爬虫框架Scrapy则成为了网络爬虫工程师的必备工具。本文将介绍Scrapy的概念与实践,以及其在数据采集和处理过程中的应用。
25 1
|
2月前
|
数据采集 存储 前端开发
【爬虫pyspider教程】1.pyspider入门与基本使用
爬虫框架pyspider入门和基本用法。
60 0
|
2天前
|
数据采集 机器学习/深度学习 前端开发
【好书推荐3】Python网络爬虫入门到实战
【好书推荐3】Python网络爬虫入门到实战
10 0
|
15天前
|
数据采集 存储 中间件
【专栏】随着技术发展,Scrapy将在网络爬虫领域持续发挥关键作用
【4月更文挑战第27天】Scrapy是Python的高效爬虫框架,以其异步处理、多线程和中间件机制提升爬取效率。它的灵活性体现在可定制化组件、支持多种数据库存储及与Selenium、BeautifulSoup等工具集成。Scrapy易于扩展,允许自定义下载器和解析器。在实践中,涉及项目配置、Spider类编写、数据抓取、存储与分析。面对动态网页和反爬机制,Scrapy可通过Selenium等工具应对,但需注意法规与道德规范。随着技术发展,Scrapy将在网络爬虫领域持续发挥关键作用。
|
20天前
|
数据采集 存储 JSON
Python爬虫面试:requests、BeautifulSoup与Scrapy详解
【4月更文挑战第19天】本文聚焦于Python爬虫面试中的核心库——requests、BeautifulSoup和Scrapy。讲解了它们的常见问题、易错点及应对策略。对于requests,强调了异常处理、代理设置和请求重试;BeautifulSoup部分提到选择器使用、动态内容处理和解析效率优化;而Scrapy则关注项目架构、数据存储和分布式爬虫。通过实例代码,帮助读者深化理解并提升面试表现。
22 0
|
23天前
|
数据采集 监控 前端开发
使用Python打造爬虫程序之入门探秘:掌握HTTP请求,开启你的数据抓取之旅
【4月更文挑战第19天】本文介绍了爬虫技术的基本概念和用途,阐述了HTTP协议的重要性。在Python中,借助requests库可轻松发送HTTP请求,如GET和POST。文章还展示了如何设置请求头、处理cookies和session。通过学习这些基础知识,读者将能够开始网络数据抓取,为进一步的数据分析奠定基础。后续文章将探讨HTML解析、动态内容处理及反爬虫策略。
|
2月前
|
数据采集 Web App开发 搜索推荐
项目配置之道:优化Scrapy参数提升爬虫效率
项目配置之道:优化Scrapy参数提升爬虫效率
|
2月前
|
数据采集 存储 数据可视化
介绍一下常见的爬虫框架或库,如`Scrapy`。
【2月更文挑战第22天】【2月更文挑战第70篇】介绍一下常见的爬虫框架或库,如`Scrapy`。
|
2月前
|
数据采集 Web App开发 数据处理
Ruby网络爬虫教程:从入门到精通下载图片
Ruby网络爬虫教程:从入门到精通下载图片
|
3月前
|
数据采集 JavaScript 前端开发
深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫
深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫