标签:
现在,我们已经进入到大数据时代,在对数据进行处理分析时,首要的是需要有数据,而作为数据的一个重要来源则来自于网络爬虫,鉴于Python语言的简洁高效,以及对爬虫技术的大力支持,我们选择利用Python作为主要编程语言。Python版本为2.7.
本文主要内容转自:http://cuiqingcai.com/category/technique/python,博主介绍的非常详细,所以在此打算直接拷贝过来了,也希望更多的人可以借此学习进步。
首先解释一下什么是爬虫。爬虫就是一种按照一定的规则,可以自动的抓取网络信息的程序或者脚本。对Python爬虫的学习,比较重要的模块有Python基础知识的学习、urllib和urllib2库的使用、正则表达式的使用、爬虫框架Scrapy的学习使用、以及一些更高级的功能,最重要的还是自己动手实践。
1、Python基础知识的学习
对于基础知识的学习,之前已经简单写过几篇博文,在这里再给大家一些入门级别的学习网址,供大家学习。慕课网Python教程http://www.imooc.com/view/177,廖雪峰Python教程http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000,简明Python教程http://woodpecker.org.cn/abyteofpython_cn/chinese/pr01.html#s01
2、urllib和urllib2库的用法
urllib和urllib2库是学习Python爬虫最基本的库,利用这个库我们可以得到网页的内容,并对内容用正则表达式提取出来分析,得到我们想要的结果。
3、Python正则表达式
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。
4、爬虫框架Srapy
如果你是一个Python高手,基本的爬虫知识都已经掌握了,那么就寻觅一下Python框架吧,我们选择的框架是Scrapy框架。这个框架有什么强大的功能呢?下面是它的官方介绍:
HTML,XML源数据 选择及提取的内置支持
提供了一系列在spider之间共享的可复用的过滤器(即Item Loaders),对智能处理爬取数据提供了内置支持。
通过feed导出 提供了多格式(JSON、CSV、XML),多存储后端(FTP、S3、本地文件系统)的内置支持
提供了media pipeline,可以自动下载爬取到的数据中的图片(或者其他资源)
高扩展性。您可以通过使用signals,设计好的API(中间件,extensions,pipelines)来定制实现您的功能
内置的中间件及扩展为下列功能提供了支持:
ciikies and session处理
HTTP压缩
HTTP认证
HTTP缓存
user-agent模拟
robots.txt
爬取深度限制
针对非英语语系中不标准或者错误的编码声明,提供了自动检测以及健壮的编码支持
支持根据模板生成爬虫。在加速爬虫创建的同时,保持在大型项目中的代码更为一致。详细内容请参阅genspider命令
针对多爬虫下性能评估。失败检测。提供了可扩展的状态收集工具
提供交互式shell终端,为您测试XPath表达式,编写和调试爬虫提供了极大的方便
提供System service,简化在生产环境的部署及运行
内置Web service是您可以监视及控制您的机器
内置Telnet终端,可以在Scrapy进程中钩入Python终端,使您可以查看并且调试爬虫
Logging为您在爬取过程中捕捉错误提供了方便
支持Sitemaps爬取
具有缓存的DNS解析器
官方文档:http://doc.sccrapy.org/en/latest/
标签:
原文地址:http://my.oschina.net/dfsj66011/blog/487143