书籍详情

用Python写网络爬虫(第2版)

用Python写网络爬虫(第2版)

作者:[德] 凯瑟琳,雅姆尔(Katharine Jarmul),[澳] 理查德,劳森(Richard Lawson) 著

出版社:人民邮电出版社

出版时间:2018-08-01

ISBN:9787115479679

定价:¥49.00

购买这本书可以去
内容简介
  《用Python写网络爬虫(第 2版》讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中抓取数据的3种方法,提取缓存中的数据,使用多个线程和进程进行并发抓取,抓取动态页面中的内容,与表单进行交互,处理页面中的验证码问题,以及使用Scarpy和Portia进行数据抓取,并在最后介绍了使用本书讲解的数据抓取技术对几个真实的网站进行抓取的实例,旨在帮助读者活学活用书中介绍的技术。《用Python写网络爬虫(第 2版》适合有一定Python编程经验而且对爬虫技术感兴趣的读者阅读。
作者简介
  Katharine Jarmul是德国柏林的一位数据科学家和Python支持者。她经营了一家数据科学咨询公司——Kjamistan,为不同规模的企业提供诸如数据抽取、采集以及建模的服务。她从2008年开始使用Python进行编程,从2010年开始使用Python抓取网站,并且在使用网络爬虫进行数据分析和机器学习的不同规模的初创企业中工作过。读者可以通过Twitter(@kjam)关注她的想法以及动态。Richard Lawson来自澳大利亚,毕业于墨尔本大学计算机科学专业。毕业后,他创办了一家专注于网络爬虫的公司,为超过50个国家的业务提供远程工作。他精通世界语,可以使用汉语和韩语对话,并且积极投身于开源软件事业。他目前正在牛津大学攻读研究生学位,并利用业余时间研发自主无人机。译者介绍李斌,毕业于北京科技大学计算机科学与技术专业,获得硕士学位。曾任职于阿里巴巴,当前供职于凡普金科,负责应用安全工作。热爱Python编程和Web安全,希望以更加智能和自动化的方式提升网络安全。博客地址为pythoner.com。
目录
第 1章 网络爬虫简介 1

1.1 网络爬虫何时有用 1

1.2 网络爬虫是否合法 2

1.3 Python 3 3

1.4 背景调研 4

1.4.1 检查robots.txt 4

1.4.2 检查网站地图 5

1.4.3 估算网站大小 6

1.4.4 识别网站所用技术 7

1.4.5 寻找网站所有者 9

1.5 编写第 一个网络爬虫 11

1.5.1 抓取与爬取的对比 11

1.5.2 下载网页 12

1.5.3 网站地图爬虫 15

1.5.4 ID遍历爬虫 17

1.5.5 链接爬虫 19

1.5.6 使用requests库 28

1.6 本章小结 30

第 2章 数据抓取 31

2.1 分析网页 32

2.2 3种网页抓取方法 34

2.2.1 正则表达式 35

2.2.2 Beautiful Soup 37

2.2.3 Lxml 39

2.3 CSS选择器和浏览器控制台 41

2.4 XPath选择器 43

2.5 LXML和家族树 46

2.6 性能对比 47

2.7 抓取结果 49

2.7.1 抓取总结 50

2.7.2 为链接爬虫添加抓取回调 51

2.8 本章小结 55

第3章 下载缓存 56

3.1 何时使用缓存 57

3.2 为链接爬虫添加缓存支持 57

3.3 磁盘缓存 60

3.3.1 实现磁盘缓存 62

3.3.2 缓存测试 64

3.3.3 节省磁盘空间 65

3.3.4 清理过期数据 66

3.3.5 磁盘缓存缺点 68

3.4 键值对存储缓存 69

3.4.1 键值对存储是什么 69

3.4.2 安装Redis 70

3.4.3 Redis概述 71

3.4.4 Redis缓存实现 72

3.4.5 压缩 74

3.4.6 测试缓存 75

3.4.7 探索requests-cache 76

3.5 本章小结 78

第4章 并发下载 79

4.1 100万个网页 79

4.2 串行爬虫 82

4.3 多线程爬虫 83

4.4 线程和进程如何工作 83

4.4.1 实现多线程爬虫 84

4.4.2 多进程爬虫 87

4.5 性能 91

4.6 本章小结 94

第5章 动态内容 95

5.1 动态网页示例 95

5.2 对动态网页进行逆向工程 98

5.3 渲染动态网页 104

5.3.1 PyQt还是PySide 105

5.3.2 执行JavaScript 106

5.3.3 使用WebKit与网站交互 108

5.4 渲染类 111

5.5 本章小结 117

第6章 表单交互 119

6.1 登录表单 120

6.2 支持内容更新的登录脚本扩展 128

6.3 使用Selenium实现自动化表单处理 132

6.4 本章小结 135

第7章 验证码处理 136

7.1 注册账号 137

7.2 光学字符识别 140

7.3 处理复杂验证码 144

7.4 使用验证码处理服务 144

7.4.1 9kw入门 145

7.4.2 报告错误 150

7.4.3 与注册功能集成 151

7.5 验证码与机器学习 153

7.6 本章小结 153

第8章 Scrapy 154

8.1 安装Scrapy 154

8.2 启动项目 155

8.2.1 定义模型 156

8.2.2 创建爬虫 157

8.3 不同的爬虫类型 162

8.4 使用shell命令抓取 163

8.4.1 检查结果 165

8.4.2 中断与恢复爬虫 167

8.5 使用Portia编写可视化爬虫 170

8.5.1 安装 170

8.5.2 标注 172

8.5.3 运行爬虫 176

8.5.4 检查结果 176

8.6 使用Scrapely实现自动化抓取 177

8.7 本章小结 178

第9章 综合应用 179

9.1 Google搜索引擎 179

9.2 Facebook 184

9.2.1 网站 184

9.2.2 Facebook API 186

9.3 Gap 188

9.4 宝马 192

9.5 本章小结 196
猜您喜欢

读书导航