`
hongtoushizi
  • 浏览: 376762 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Python爬虫入门一之综述

阅读更多

转载自:  http://cuiqingcai.com/927.html

 

大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验。

Python版本:2.7,Python 3请另寻其他博文。

首先爬虫是什么?

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。

根据我的经验,要学习Python爬虫,我们要学习的共有以下几点:

  • Python基础知识
  • Python中urllib和urllib2库的用法
  • Python正则表达式
  • Python爬虫框架Scrapy
  • Python爬虫更高级的功能

1.Python基础学习

首先,我们要用Python写爬虫,肯定要了解Python的基础吧,万丈高楼平地起,不能忘啦那地基,哈哈,那么我就分享一下自己曾经看过的一些Python教程,小伙伴们可以作为参考。

1) 慕课网Python教程

曾经有一些基础的语法是在慕课网上看的,上面附有一些练习,学习完之后可以作为练习,感觉效果还是蛮不错的,不过稍微遗憾的是内容基本上都是最基础的,入门开始的话,就这个吧

学习网址:慕课网Python教程

2) 廖雪峰Python教程

后来,我发现了廖老师的Python教程,讲的那是非常通俗易懂哪,感觉也是非常不错,大家如果想进一步了解Python就看一下这个吧。

学习网址:廖雪峰Python教程

3) 简明Python教程

还有一个我看过的,简明Python教程,感觉讲的也不错

学习网址:简明Python教程

2.Python urllib和urllib2 库的用法

urllib和urllib2库是学习Python爬虫最基本的库,利用这个库我们可以得到网页的内容,并对内容用正则表达式提取分析,得到我们想要的结果。这个在学习过程中我会和大家分享的。

3.Python 正则表达式

Python正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。这个在后面的博文会分享的。

4.爬虫框架Scrapy

如果你是一个Python高手,基本的爬虫知识都已经掌握了,那么就寻觅一下Python框架吧,我选择的框架是Scrapy框架。这个框架有什么强大的功能呢?下面是它的官方介绍:

HTML, 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解析器

官方文档:http://doc.scrapy.org/en/latest/

等我们掌握了基础的知识,再用这个 Scrapy 框架吧!

分享到:
评论

相关推荐

    静觅Python爬虫学习系列教程1

    1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入

    python爬虫可以做什么?python爬虫入门教程有哪些?.docx

    - **《Python爬虫入门》系列教程**:适合完全没有编程基础的新手。主要内容包括: - **综述**:介绍爬虫的基本概念及其应用场景。 - **爬虫基础了解**:讲解网络请求的基本知识,如HTTP协议、URL结构等。 - **...

    python核心编程(中文第二版)

    - 理查德·尾崎(Richard Ozaki)认为《Python核心编程》已成为Python入门的标准教材之一。 - 迈克尔·巴克斯特(Michael Baxter)称赞本书既适合作为教材也适合作为参考书。 #### 结论 《Python核心编程》(中文第...

    毕设开题报告-及开题报告分析.pdf

    本课题的目标是使用Python编写一个基础的爬虫系统,以供初学者入门,为后续深入学习网络爬虫打下基础。 3. **网络爬虫的意义**: 在大数据时代,网络爬虫是获取网络数据的有效工具,尤其在面对大量无组织、动态变化...

    毕设开题报告 及开题报告分析.docx

    3. **Python爬虫系统设计**: 本课题基于Python设计一个初级的爬虫系统,以豆瓣网为实践平台,旨在为初学者提供基础的爬虫学习。Python因其简洁的语法和丰富的库支持,常被用于爬虫开发。 4. **调研综述**: - **...

    毕设开题报告 及开题报告分析【范本模板】.pdf

    - 文献[2]和[3]是Python编程的入门教程,帮助理解Python语法和编程方法,为编写爬虫代码提供指导。 - 文献[4]描述了一款并行微博数据抓取工具的开发,强调了关键字匹配和并行抓取技术,这可以作为提高爬虫性能的参考...

    毕设开题报告-及开题报告分析.docx

    文献[1-4]提供了关于MySQL基础、Python语法、编程入门以及并行爬虫技术的基础知识。 3. **实施方案与进度计划**: 根据任务书和文献调研,制定详细的实施方案,包括技术路线、具体实施步骤和进度计划。这部分要...

    毕设开题报告 及开题报告分析【范本模板】.docx

    - 文献[2]和[3]是Python编程的入门教程,帮助理解Python语法和编程方法,为编写爬虫程序打下基础。 - 文献[4]探讨了并行爬虫,其并行抓取能力可提高数据获取速度。 - 文献[5]研究了基于信息数据分析的微博研究,...

    毕设开题报告书及开题报告书分析.pdf

    2. **Python编程**:文献[2]和[3]为Python编程入门教程,涵盖Python的基本语法和编程技巧,为爬虫程序的编写提供理论基础。 3. **并行爬虫**:文献[4]介绍了并行爬虫的设计思想,通过多线程或分布式抓取,提升数据...

    毕设开题报告 及开题报告分析.pdf

    文献[2]和[3]则为Python编程提供了入门指导,帮助理解Python语法和编程技巧,为编写爬虫程序提供基础。文献[4]展示了并行爬虫的设计,这种技术能提高数据抓取效率。文献[5]关注的是微博信息数据分析,揭示了社交媒体...

Global site tag (gtag.js) - Google Analytics