/
写
人民邮电出版社
北 京
[澳]Richard
Lawson 著
李斌 译
图书在版编目(CIP)数据
用Python写网络爬虫/(澳大利亚)理查德·劳森
Lawson)著; 李斌译. 一北京:人民邮电出
(Richard
版社, 2016.9
ISBN 978-7-115-43179一0
I .①用…II.①理…②李…III.①软件工具一程
序设计N. ①TP311.56
中国版本图书馆CIP数据核宇(2016)第177976号
版权声明
Cop严ight© 201 5 Packt Publishing.
All Rights Reserved.
本 书由英国PacktPublishing
得以任何方式或任何手段复制和传播。
版权所有,侵权必究。
First published
in the English language under the title
Web Scraping
with Python.
公司授权人民邮电出版社出版。未经出版者书面许可, 对本书 的任何部分不
awson
[澳]Richard L
’ 著
译
李 斌
责任编辑 傅道坤
责任印制 焦志炜
’ 人民邮电出版社出版发行北京市丰台区成寿寺路II号
邮编 100164 电子邮件 3 l 5@ptpress.com.cn
网址 http://www .ptpress.com.cn
三河市海波印务有限公司印刷
’ 开本:800x!OOO 1/16
印张: 10.75
字数z148千 字
印数z1-3000册
著作权合同登记号
2016年9月第l版
2016年9月河北第1次印刷
图字:0 1-2016-3962号
定价:45.00元
读者服务热线: (010) 81055410 印装质量热线:(010)81055316
反盗版热线:(010)81055315
内 容提要
本书讲解 了 如何使用P川lOil来编写 网络爬 虫程序 ,内 容包括 网络爬虫简
介 ,从页面中 抓取数据的三种方法 ,提取缓存 中 的 数据 ,使用多个线程和进
程来进行并发抓取 ,如何抓取动态页面 中的 内容 ,与表单进行交互 ,处理页
面 中的 验证码 问 题, 以及使用 Scarpy 和Portia来进行数据抓取 ,并在最后使
用 本书介绍的 数据抓取技术对几个真实的 网站进行 了 抓取 ,旨在帮助读者活
学活用 书 中 介绍 的技术 。
本书适合有一定Python编程经验 ,而且对爬虫技术感 兴趣的读者阅 读 。
关于作者
Richard Lawson来 自澳 大利亚 ,毕业于墨尔 本大学计算机科学专业 。 毕
业后 ,他创办 了 一家专注于 网 络爬虫的 公 司, 为超过 50 个国 家 的业务提供远
程工作。他精通于世界语 ,可 以使用汉语 和韩语对话 , 并且积极投身于开源
软件 。他 目 前在牛津大学攻读研 究生学位, 并利 用 业余时间研发自 主无人机 。
我要感谢 TimothyBaldwin教授将我引入这个令人兴奋的领域, 以及
本书编写时在巴黎招待我的ηiara可Douc。
关于审稿人
Martin Bur咄是一名常驻纽 约的数据 记者,其 工作是为华尔街日报绘 制
交互式 图 表。 他在新墨西哥州 立大学获 得了新闻学和 信息系统专 业的学士学
位,然 后在 纽约城市 大学新闻学研究院 获 得了新闻学专 业硕士学位。
我要感谢我的妻子 Lisa鼓励我协助本书的 创作 , 我的叔叔Michael
耐心解答 我的编程问题 , 以及我的 父亲 Richard激发了我 对新闻学和写
作 的热爱。
William
Sankey是一位数据 专业人士,也是一位业余开 发人员,生活在 马
里兰州科利奇帕克市。 他于 2012年毕 业于约翰·霍普金斯 大学,获 得了公共
政策硕士学位, 专业方向为定量 分析。他目前在 L &M政策研究 有限责任公司
担任 健康服 务研究员,从事 与美国 医疗保 险和 医疗补助服 务中心 (CM S) 相
关的项目。这些项目包括责任医疗机 构评 估以及精神病院住院患 者预付费系
统监 测。
我要感谢我深爱的妻子Julia和顽皮的小猫 Ruby,给予我全部的爱和
支持。
关于审稿人
Ayush Tiwari是一 名Python开发者 ,本 科就读于印度 理工学院罗克 分校。
他自 2013年 起工 作于印度 理工学院罗克 分校信息管理小组,并活跃于网 络开
发领域。对他而言 , 审阅本 书是一个非常棒的经 历。 他不仅 是一 名审稿人,
也是一 名狂热的网 络爬虫 学习者。 他向所有 Python爱好者推荐本 书,以便享
受 爬虫 的益处。
他 热衷于Python网络爬虫 ,曾参与 体育直播订阅 、 通用 P川lOil电子商务
网 络爬虫 (在M iranj)等 相关项目。
他还使用 Django应用开发了 就业门户, 帮助 改善印度 理工 学院罗克 分校
的就业流程。
除了 后端开发之外 , 他还喜欢使用诸如Nu mPy、SciPy等Python库进行
科学计 算和 数据分析 ,目前他从事计 算流体力学领 域 的研究。你可以在GitHub
上访 问到他的项 目, 他的用户 名是 tiwariayush。
他喜欢徒步穿越喜马拉雅山谷,每年 会参加多 次徒步行走活动。此 外 ,他
还喜欢弹吉 他。他的 成就还包括 参加国际 知名的 Super30小 组,并在其 中成
为排名 保 持者。 他在高中时 ,还参加 了国际 奥林匹克数学竞赛。
我的家庭成员(我的姐姐Aditi、我的 父母以及 Anand先生)、我在
VI和 IMG的朋友以及我的教授都为我提供了很大的帮助。 我要感谢他们
所有人 对我的 支持。
最后,感谢尊敬的作 者和Packt出版社团队出版了这些非常好的技术
书籍。 我要对他们在编写 这些 书籍时 的所有辛苦工作表示赞赏。
2
..a.&. ....1』.
刷昌
互联 网 包含 了迄今为 止 最有用的数据 集, 并且大 部分可以免费公开访 问。
但 是,这些数据难以复用 。 它们被 嵌入在 网 站的 结构和样 式当中, 需要抽取
出来才能使用 。 从网 页中抽取 数据的过程 又被称为网 络爬虫 。 随着越来越 多
的 信息被 发布到网 络上, 网 络爬虫也 变得越来越 有用。
本书内容
第 1章, 网 络爬虫简介,介绍了网 络爬虫 ,并讲解了爬取网站 的方 法。
第 2章, 数据抓取,展 示了如何从 网 页中抽取 数据。
第 3章, 下载缓存 , 学习了如 何通过缓存结果 避免重复下载的 问题。
第 4章, 并发 下载,通过并行 下载加 速数据抓 取。
第 5章, 动态 内容 , 展示了如 何从 动态网 站中抽取 数据。
第 6章, 表单交互 , 展示了如何与表 单进行交互 , 从而访 问你需要的数据。
第 7章, 验证 码处理, 阐述了如 何访 问被验证 码图像保 护的数据。
第 8章, Scrapy, 学习了如 何使用流行的高 级框架 Scrapy。
第 9章 , 总结,对我 们介绍的这些网 络爬虫 技术 进行总结。