Python网络爬虫从入门到精通pdf电子书提取码

简介: 适读人群 :Python语言初学者;网络爬虫技术爱好者;数据分析从业人士 内容全面,结构清晰:本书详细介绍了网络爬虫技术的方方面面,讨论了数据抓取、数据处理和数据分析的整个流程。全书结构清晰,坚持理论知识与实践操作结合。 循序渐进,生动简洁:从简单的Python程序示例开始,在网络爬虫的核心主题之下一步步深入,兼顾内容的广度与深度。在行文中,使用生动简洁的阐述方式,力争详略得当。 示例丰富,实战性强:网络爬虫是实践性、操作性非常强的技术,本书将提供丰富的代码来作为读者的参考,同时对必要的术语和代码进行解释。从生活实际出发,选取实用性、趣味性兼具的主题进行网络爬虫实践。

第1章

Python与网络爬虫

网络爬虫(web crawler)有时候也叫网络蜘蛛(web spider),它是指这样一类程序——它们可以自动连接到互联网站点,并读取网页中的内容或者存放在网络上的各种信息,并按照某种策略对目标信息进行采集(如对某个网站的全部页面进行读取)。实际上,像Google、百度这样的搜索引擎就会通过爬虫程序来不断更新自身的网站内容和对其他网站的网络索引。某种意义上说,用户每次通过搜索引擎查询一个关键词,就是在搜索引擎提供者的爬虫程序所“爬”到的信息中进行查询。当然,搜索引擎背后所使用的技术十分复杂,其爬虫技术通常也不是一般个人所开发的小型程序所能比拟的。不过,爬虫程序本身其实并不复杂,只要懂一些编程知识,了解一些HTTP和HTML,就可以写出属于自己的爬虫程序,实现很多有意思的功能。

在众多编程语言中,本书选择Python来编写爬虫程序。Python不仅语法简洁、便于上手,而且拥有庞大的开发者社区和浩如烟海的模块库,对于普通的程序编写而言非常便利。虽然Python与C/C++等语言相比可能在性能上有所欠缺,但毕竟瑕不掩瑜,开发人员普遍认为它是目前编写网络爬虫程序的最好选择。

1.1 Python语言

Python是目前最为流行的编程语言之一,本章首先对它的历史和发展做一些简单介绍,然后再介绍Python的基本语法,对于没有Python编程经验的读者而言,可以借此对Python有一个初步的了解。

1.1.1 什么是Python

Guido van Rossum在1989年开发了Python语言,而Python的第一个公开发行版发行于1991年。因为Guido是一部电视剧《Monty Python′s FlyingCircus》的爱好者,因此将这种新的脚本语言命名为Python。

从最根本的角度来说,Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。值得注意的是,Python是开源的,源代码遵循GPL(GNUGeneral Public License)协议,这就意味着它对所有个人开发者是完全开放的,这也使得Python在开发者中迅速流行开来,来自全球各地的Python使用者为这门语言的发展贡献了很多力量。Python的哲学是优雅、明确和简单。著名的“Zen of Python”(Python之禅)这样说道:

优美胜于丑陋,

明了胜于晦涩,

简洁胜于复杂,

复杂胜于凌乱,

扁平胜于嵌套,

间隔胜于紧凑,

可读性很重要,

即便假借特例的实用性之名,也不可违背这些规则,

不要包容所有错误,除非你确定需要这样做,

当存在多种可能,不要尝试去猜测,

而是尽量找一种,最好是唯一一种明显的解决方案,

虽然这并不容易,因为你不是Python之父。

做也许好过不做,但不假思索就动手还不如不做。

如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然。

命名空间是一种绝妙的理念,我们应当多加利用。

2000年Python 2.0版本发布,Python 3.0版本则于2008年发布,这一新版本不完全兼容之前的Python源代码。目前开发者主要接触到的是Python 2.7与Python 3.5,以及更新一点的Python 3.6。Python 3在Python 2的基础上做出了不少很有价值的改进,3.5和3.6也已逐步成为Python的主流版本,本书将完全使用Python 3作为开发语言。

1.1.2 Python的应用现状

Python的应用范围十分广泛,著名的应用案例有以下几个。

·Reddit:社交分享网站,美国最热门的网站之一。

·Dropbox:文件分享服务。

·Pylons:Web应用框架。

·TurboGears:另一个Web应用快速开发框架。

版权:机械工业出版社