前言

关于本书

如今是互联网的时代,而且正在迈入智能时代。人们早已意识到互联网中的数据是有待开采的巨大金矿,这些数据将会改善我们的生活,网络爬虫开发工作岗位的出现和不断增加正是基于对数据价值的重视。优秀的爬虫框架就像是开采金矿的强力挖掘机,如果你能娴熟地驾驶它们,就能大幅提高开采效率。

本书讲解目前最流行的Python爬虫框架Scrapy,它简单易用、灵活易拓展、文档丰富、开发社区活跃,使用Scrapy可以高效地开发网络爬虫应用。本书的读者只需要有Python语言基础即可,我们从零基础、逐步由浅入深进行讲解。第1~8章讲解Scrapy开发的核心基础部分,其中包括:

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

● 初识Scrapy

● 编写Spider

● 使用Selector提取数据

● 使用Item封装数据

● 使用Item Pipeline处理数据

● 使用Link Extractor提取链接

● 使用Exporter导出数据

● 项目练习

第9~14章讲解实际爬虫开发中使用频率最高的一些实用技术,其中包括:

● 下载文件和图片

● 模拟登录

● 爬取动态页面

● 存入数据库

● 使用HTTP代理

● 分布式爬取

本书特色

本书的宗旨是以实用和实战为教学目标,主要特色是:

● 所有基础部分的讲解都配有代码示例,而不仅仅是枯燥的文档。

● 案例选材方面以讲解知识点为核心,尽量选择专门供练习爬虫技术的网站(不易变动)或贴近日常生活的网站(京东、知乎、豆瓣、360)进行演示。

● 在讲解某些知识点时,对Scrapy源码进行分析,让读者能够“知其然并知其所以然”。

另外,Python是一门简单易学、功能强大、开发效率极高的语言,近年来在网络爬虫、数据分析、机器学习等领域得到广泛认可。虽然Python很容易上手,但想灵活恰当地运用它也并不简单。作者在慕课网(www.imooc.com)上推出了一套《Python高级进阶实战》课程,可供有需求的读者进行参考:http://coding.imooc.com/class/62.html。

致谢

感谢康烁和陈渝老师在清华大学信息研究院工作期间对我在专业方面的耐心指导。

感谢清华大学出版社的王金柱编辑给予我这次写作的机会以及在写作方面的指点。

感谢赵佳音同事认真阅读全书并提出了许多的宝贵建议。

感谢剑超和任怡同学认真审阅全书并对书中代码在多个Python版本上进行测试。

感谢女儿刘真,她的笑容化解了写作本书时偶尔的小烦躁。

编 者

2017年8月8日