此次教程使用的python版本为2.7!!!
在刚上大学之时,总是在网上看到什么爬虫,因为当时还在学习c++,没有时机学习python,更没有去学习爬虫了,而趁着这次工程实训学习了基本的python的使用,于是有提起了学习爬虫的兴致,也写下了这个系列的博客,以记录自己的积累
下面进入正题:
爬虫是什么?
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。
在学习爬虫时需要用到那些知识呢?
- Python基础知识
- Python中urllib和urllib2库的用法
- Python正则表达式
- Python爬虫框架Scrapy
- Python爬虫更高级的功能
1.Python基础知识学习
这个是在网上学习时经常用到的资源:
2.关于urllib和urllib2库的使用
网上有教程,之后的博客也会有我自己的学习介绍,不过最佳的学习应该就是到官方文档中学习了。
3.正则表达式
由于我也还是初学,也只是了解一点,现在还不能给出很好的学习经验,不过多用用搜索引擎,应该是能够 学的很快的
4.爬虫框架Scrapy
在爬虫的基本知识已经完全熟练之后,就可以尝试去使用框架完成更好的东西。我在学习过程中学习的是Scrapy框架,官方文档的介绍是这样的:
TML, XML源数据 选择及提取 的内置支持 提供了一系列在spider之间共享的可复用的过滤器(即 Item Loaders),对智能处理爬取数据提供了内置支持。 通过 feed导出 提供了多格式(JSON、CSV、XML),多存储后端(FTP、S3、本地文件系统)的内置支持 提供了media pipeline,可以 自动下载 爬取到的数据中的图片(或者其他资源)。 高扩展性。您可以通过使用 signals ,设计好的API(中间件, extensions, pipelines)来定制实现您的功能。 内置的中间件及扩展为下列功能提供了支持: cookies and session 处理 HTTP 压缩 HTTP 认证 HTTP 缓存 user-agent模拟 robots.txt 爬取深度限制 针对非英语语系中不标准或者错误的编码声明, 提供了自动检测以及健壮的编码支持。 支持根据模板生成爬虫。在加速爬虫创建的同时,保持在大型项目中的代码更为一致。详细内容请参阅 genspider 命令。 针对多爬虫下性能评估、失败检测,提供了可扩展的 状态收集工具 。 提供 交互式shell终端 , 为您测试XPath表达式,编写和调试爬虫提供了极大的方便 提供 System service, 简化在生产环境的部署及运行 内置 Web service, 使您可以监视及控制您的机器 内置 Telnet终端 ,通过在Scrapy进程中钩入Python终端,使您可以查看并且调试爬虫 Logging 为您在爬取过程中捕捉错误提供了方便 支持 Sitemaps 爬取 具有缓存的DNS解析器 |
参考博客:Python爬虫入门一之综述