Python 网络爬虫实战 - (EPUB全文下载)
文件大小:0.18 mb。
文件格式:epub 格式。
书籍内容:
Python 网络爬虫实战
第1章 Python环境配置
第2章 Python基础
第3章 简单的Python脚本
第4章 Python爬虫常用模块
第5章 Scrapy爬虫框架
第6章 Beautiful Soup爬虫
第7章 Mechanize模拟浏览器
第8章 Selenium模拟浏览器
第1章 Python环境配置
为什么选择Python来写网络爬虫?
众所周知Python的速度并不是最快的,比不上Java,比不上C++,更比不上传说中的速度效率之王C了。学习资料的完备也不在三甲之内,市面上讲解C&C++的书籍绝对是Python的几倍甚至几十倍。使用的人数也不是最多,比不上Java、C、C++。
那么,为什么会选择Python?
首先是它简单易学。简单到没有学过任何编程语言的人稍微看下资料,再看几个示例就可以编写出可用的程序;其次它是一门解释型编程语言,编写完毕后可直接执行,无须编译,发现Bug后立即修改,省下了无数的编译时间;还有它的代码重用性高,可以把包含某个功能的程序当成模块代入其他程序中使用,因而Python的模块库庞大到恐怖,几乎是无所不包;最后就是因为它的跨平台性,几乎所有的Python程序,都可以不加修改地运行在不同的操作平台,都能得到同样的结果。这么多的优点都集中在这个语言中,因此最好的选择就是Python。
1.1 Python简介
了解一门语言,我们先从它的历史说起。Python的应用越来越广泛,它最初是用来做什么用的,之后又如何发展的,了解这些,我们就更能了解Python。
1.1.1 Python的历史由来
Python是一种开源的面向对象的脚本语言,它起源于1989年末,当时,CWI(阿姆斯特丹国家数学和计算机科学研究所)的研究员Guido van Rossum需要一种高级脚本编程语言,为其研究小组的Amoeba分布式操作系统执行管理任务。为创建新语言,他从高级数学语言ABC(ALL BASIC CODE)汲取了大量语法,并从系统编程语言Modula-3借鉴了错误处理机制。Van Rossum把这种新的语言命名为Python(大蟒蛇)——来源于BBC当时正在热播的喜剧连续剧Monty Python。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。Guido决心在Python中避免这一错误。同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,并且结合了Unix shell和C的习惯。Python源代码遵循GPL(GNU General Public License)协议。所以任何个人用户都可以免费使用。
1.1.2 Python的现状
Python于1991年初公开发行,由于功能强大和采用开源方式发行,Python发展得很快,用户越来越多,形成了一个强大的社区力量。2001年,Python的核心开发团队移师Digital Creations公司,该公司是Zope(一个用Python编写的Web应用服务器)的创始者。大家可到http://www.python.org/上了解最新的Python动态和资料。
如今,Python已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,Python的使用率是呈线性增长。
1.1.3 Python的应用
Python应用广泛,特别适用与以下几个方面。
系统编程:提供API(Application Programming Interface,应用程序编程接口),能方便地进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:Python提供的re模块能支持正则表达式,还提供SGML、XML分析模块,许多程序员利用Python进行XML程序的开发。
数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server、Oracle、Sybase、DB2、MySQL、SQLite等数据库通信。Python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划,例如Zope、Mnet及BitTorrent、Google都在广泛地使用它。
Web编程:应用的开发语言,支持最新的XML技术。
多媒体应用:Python的PyOpenGL模块封装了OpenGL应用程序编程接口,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
PYMO引擎:PYMO全称为Python Memories Off,是一款运行于Symbian S60V3、Symbian3、S60V5、Symbian3、Android系统上的AVG游戏引擎。因其基于Python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。
不只个人用户推崇Python,企业用户也对Python青睐有加,以下是明星企业的应用项目:
Reddit:社交分享网站,最早用Lisp开发,在2005年转为python。
Dropbox:文件分享服务。
豆瓣网:图书、唱片、电影等文化产品的资料数据库网站。
Django:鼓励快速开发的Web应用框架。
Fabric:用于管理成百上千台Linux主机的程序库。
EVE:网络游戏EVE大量使用Python进行开发。
Blender:以C与Python开发的开源3D绘图软件。
BitTorrent ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Python 网络爬虫实战 - (EPUB全文下载)