Python网络爬虫实战(第2版)
上QQ阅读APP看书,第一时间看更新

前 言

计算机技术飞速发展,人们对计算机使用技能的要求也越来越高。在编写软件时,大家既希望有超高的效率,又希望这门语言简单易用。这种鱼与熊掌皆得的要求的确很高,Python编程语言恰好符合这么苛刻的要求。

Python的执行效率仅比效率之王C略差一筹,在简单易用方面Python也名列三甲。可以说Python在效率和简单之间达到了平衡。另外,Python还是一门胶水语言,可以将其他编程语言的优点融合在一起,达到1+1>2的效果。这也是Python如今使用人数越来越多的原因。

Python语言发展迅速,在各行各业都发挥独特的作用。在各大企业、学校、机关都运行着Python明星程序。但就个人而言,运用Python最多的还是网络爬虫(这里的爬虫仅涉及从网页提取数据,不涉及深度、广度算法爬虫搜索)。在网络上经常更新的数据,无须每次都打开网页浏览,使用爬虫程序,一键获取数据,下载保存后分析。考虑到Python爬虫在网络上的资料虽多,但大多都不成系统,难以提供系统有效的学习。因此笔者抛砖引玉,编写了这本有关Python网络爬虫的书,以供读者学习参考。

Python简单易学,Python爬虫也不复杂。只需要了解了Python的基本操作即可自行编写。本书中介绍了几种不同类型的Python爬虫,可以针对不同情况的站点进行数据收集。

本书特色

  • 附带全部源代码。为了便于读者理解本书内容,作者已将全部的源代码上传到网络,供读者下载使用。读者通过代码学习开发思路,精简优化代码。
  • 涵盖了Linux&Windows上模块的安装配置。本书包含了Python模块源的配置、模块的安装,以及常用IDE的使用。
  • 实战实例。通过常用的实例,详细说明网络爬虫的编写过程。

本书内容

本书共10章,前面4章简单地介绍了Python 3.6的基本用法和简单Python程序的编写。第5章的Scrapy爬虫框架主要针对一般无须登录的网站,在爬取大量数据时使用Scrapy会很方便。第6章的Beautiful Soup爬虫可以算作爬虫的“个人版”。Beautiful Soup爬虫主要针对一些爬取数据比较少的,结构简单的网站。第7章的Mechanize模块,主要功能是模拟浏览器。它的作用主要是针对那些需要登录验证的网站。第8章的Selenium模块,主要功能也是模拟浏览器,它的作用主要是针对JavaScript返回数据的网站。第9章的Pyspider是由国人自产的爬虫框架。Pyspider框架独具一格的Web接口让爬虫的使用更加简单。第10章简单介绍了反爬虫技术,使读者编写的爬虫可以绕过简单的反爬虫技术更加灵活地获取数据。

本书用于Python 3编程与Python 3网络爬虫快速入门。另外,为了让读者多了解几个爬虫框架,本书也介绍了Python 2.7下运行的Mechanize与Pyspider工具。

修订说明

本书第1版使用了Python 2.7,由于Python 2未来不再被官方支持,今后Python将逐渐转换到Python 3版本。Python 3基本上可以与Python 2兼容,但细节方面略有差异,比如某些模块的名称(Python2中的urllib2在Python 3中变成了urllib.request)。本次修订将所有支持Python 3的爬虫全部转换成了Python 3的版本,更加符合主流。目前暂时不支持Python 3、只支持Python 2的爬虫(Mechanize与Pyspider)也修订了代码,改正了一些因为目标网站改版而造成爬虫不能使用的问题。

源代码下载

本书源代码下载地址请扫描右边二维码。如果下载有问题,或者对本书有任何疑问与建议,请联系booksaga@163.com,邮件主题为“Python网络爬虫”。

本书读者与作者

  • Python编程及Python网络爬虫初学者
  • 数据分析与挖掘技术初学者
  • 高等院校和培训学校相关专业的师生

本书由胡松涛主笔,其他参与创作的还有王立平、刘祥淼、王启明、樊爱宛、张倩、曹卉、林江闽、王铁民、殷龙、李春城、赵东、李玉莉、李柯泉、李雷霆。

著 者
2018年8月