九品消毒塑封
¥ 18.4 3.1折 ¥ 59 九五品
库存3件
作者米切尔 陶俊杰 陈小莉
出版社人民邮电出版社
ISBN9787115416292
出版时间2016-03
装帧平装
开本16开
定价59元
货号9787115416292
上书时间2024-11-07
每时每刻,搜索引擎和网站都在采集大量信息,非原创即采集。采集信息用的程序一般被称为网络爬虫(Web crawler)、网络铲(Web scraper,可类比考古用的洛阳铲)、网络蜘蛛(Web spider),其行为一般是先“爬”到对应的网页上,再把需要的信息“铲”下来。O'Reilly 这本书的封面图案是一只穿山甲,图灵公司把这本书的中文版定名为“Python 网络数据采集”。当我们看完这本书的时候,觉得网络数据采集程序也像是一只辛勤采蜜的小蜜蜂,它飞到花(目标网页)上,采集花粉(需要的信息),经过处理(数据清洗、存储)变成蜂蜜(可用的数据)。网络数据采集可以为生活加点儿蜜,亦如本书作者所说,“网络数据采集是为普通大众所喜闻乐见的计算机巫术”。
网络数据采集大有所为。在大数据深入人心的时代,网络数据采集作为网络、数据库与机器学习等领域的交汇点,已经成为满足个性化网络数据需求的*实践。搜索引擎可以满足人们对数据的共性需求,即“我来了,我看见”,而网络数据采集技术可以进一步精炼数据,把网络中杂乱无章的数据聚合成合理规范的形式,方便分析与挖掘,真正实现“我征服”。工作中,你可能经常为找数据而烦恼,或者眼睁睁看着眼前的几百页数据却只能长恨咫尺天涯,又或者数据杂乱无章的网站中满是带有陷阱的表单和坑爹的验证码,甚至需要的数据都在网页版的 PDF 和网络图片中。而作为一名网站管理员,你也需要了解常用的网络数据采集手段,以及常用的网络表单安全措施,以提高网站访问的安全性,所谓道高一尺,魔高一丈……一念清净,烈焰成池,一念觉醒,方登彼岸,本书试图成为解决这些问题的一念,让你茅塞顿开,船登彼岸。
网络数据采集并不是一门语言的独门秘籍,Python、Java、PHP、C#、Go 等语言都可以讲出精彩的故事。有人说编程语言就是宗教,不同语言的设计哲学不同,行为方式各异,“非我族类,其心必异”,但本着美好生活、快乐修行的初衷,我们对所有语言都时刻保持敬畏之心,尊重信仰自由,努力做好自己的功课。对爱好 Python 的人来说,人生苦短,Python 当歌!简洁轻松的语法,开箱即用的模块,强大快乐的社区,总可以快速构建出简单高效的解决方案。使用 Python 的日子总是充满快乐的,本书关于 Python 网络数据采集的故事也不例外。网络数据采集涉及多个领域,内容包罗万象,因此本书覆盖的主题较多,涉及的知识面相对广阔,书中介绍的 Python 模块有 urllib、BeautifulSoup、lxml、Scrapy、PdfMiner、Requests、Selenium、NLTK、Pillow、unittest、PySocks 等,还有一些知名网站的 API、MySQL 数据库、OpenRefine 数据分析工具、PhanthomJS 无头浏览器以及 Tor 代理服务器等内容。每行到一处,皆是风景独好,而且作者也为每一个主题提供了深入研究的参考资料。不过,本书关于多进程(multiprocessing)、并发(concurrency)、集群(cluster)等高性能采集主题着墨不多,更加关注性能的读者,可以参考其他关于 Python 高性能和多核编程的书籍。总之,本书通俗易懂,简单易行,有编程基础的同学都可以阅读。不会 Python ?抽一节课时间学一下吧。
网络数据采集也应该有所不为。国内外关于网络数据保护的法律法规都在不断地制定与完善中,本书作者在书中介绍了美国与网络数据采集相关的法律与典型案例,呼吁网络爬虫严格控制网络数据采集的速度,降低被采集网站服务器的负担。恶意消耗别人网站的服务器资源,甚至拖垮别人网站是一件不道德的事情。众所周知,这已经不仅仅是一句“吸烟有害健康”之类的空洞口号,它可能导致更严重的法律后果,且行且珍惜!
语言是思想的解释器,书籍是语言的载体。本书英文原著是作者用英文解释器为自己思想写的载体,而译本是译者根据英文原著以及与作者的交流,用简体中文解释器为作者思想写的载体。读者拿到的中译本,是作者思想经过两层解释器转换的结果,其目的是希望帮助中文读者消除语言障碍,理解作者的思想,与作者产生共鸣,一起面对作者曾经遇到的问题,共同探索解决问题的方法,从而帮助读者提高解决问题的能力,增强直面 bug 的信心。bug 是产品生命中的挑战,好产品是不断面对 bug 并战胜 bug 的结果。译者水平有限,译文 bug 也在所难免,翻译有不到之处,还请各位读者批评指正!
*后要感谢图灵公司朱巍老师的大力支持,让译作得以顺利出版。也要感谢神烦小宝的温馨陪伴,每天 6 点叫我们起床,让业余时间格外宽裕。
译者联系方式——
邮箱:muxuezi@gmail.com,微信号:muxuezi
邮箱:carrieforchen@gmail.com,微信号:陈小莉
陶俊杰
*部分 创建爬虫
第1章 初见网络爬虫 2
1.1 网络连接 2
1.2 BeautifulSoup简介 4
1.2.1 安装BeautifulSoup 5
1.2.2 运行BeautifulSoup 7
1.2.3 可靠的网络连接 8
第2章 复杂HTML解析 11
2.1 不是一直都要用锤子 11
2.2 再端一碗BeautifulSoup 12
2.2.1 BeautifulSoup的find()和findAll() 13
2.2.2 其他BeautifulSoup对象 15
2.2.3 导航树 16
2.3 正则表达式 19
2.4 正则表达式和BeautifulSoup 23
2.5 获取属性 24
2.6 Lambda表达式 24
2.7 超越BeautifulSoup 25
第3章 开始采集 26
3.1 遍历单个域名 26
3.2 采集整个网站 30
3.3 通过互联网采集 34
3.4 用Scrapy采集 38
第4章 使用API 42
4.1 API概述 43
4.2 API通用规则 43
4.2.1 方法 44
4.2.2 验证 44
4.3 服务器响应 45
4.4 Echo Nest 46
4.5 Twitter API 48
4.5.1 开始 48
4.5.2 几个示例 50
4.6 Google API 52
4.6.1 开始 52
4.6.2 几个示例 53
4.7 解析JSON数据 55
4.8 回到主题 56
4.9 再说一点API 60
第5章 存储数据 61
5.1 媒体文件 61
5.2 把数据存储到CSV 64
5.3 MySQL 65
5.3.1 安装MySQL 66
5.3.2 基本命令 68
5.3.3 与Python整合 71
5.3.4 数据库技术与*实践 74
5.3.5 MySQL里的“六度空间游戏” 75
5.4 Email 77
第6章 读取文档 80
6.1 文档编码 80
6.2 纯文本 81
6.3 CSV 85
6.4 PDF 87
6.5 微软Word和.docx 88
第二部分 高级数据采集
第7章 数据清洗 94
7.1 编写代码清洗数据 94
7.2 数据存储后再清洗 98
第8章 自然语言处理 103
8.1 概括数据 104
8.2 马尔可夫模型 106
8.3 自然语言工具包 112
8.3.1 安装与设置 112
8.3.2 用NLTK做统计分析 113
8.3.3 用NLTK做词性分析 115
8.4 其他资源 119
第9章 穿越网页表单与登录窗口进行采集 120
9.1 Python Requests库 120
9.2 提交一个基本表单 121
9.3 单选按钮、复选框和其他输入 123
9.4 提交文件和图像 124
9.5 处理登录和cookie 125
9.6 其他表单问题 127
第10章 采集JavaScript 128
10.1 JavaScript简介 128
10.2 Ajax和动态HTML 131
10.3 处理重定向 137
第11章 图像识别与文字处理 139
11.1 OCR库概述 140
11.1.1 Pillow 140
11.1.2 Tesseract 140
11.1.3 NumPy 141
11.2 处理格式规范的文字 142
11.3 读取验证码与训练Tesseract 146
11.4 获取验证码提交答案 151
第12章 避开采集陷阱 154
12.1 道德规范 154
12.2 让网络机器人看起来像人类用户 155
12.2.1 修改请求头 155
12.2.2 处理cookie 157
12.2.3 时间就是一切 159
12.3 常见表单安全措施 159
12.3.1 隐含输入字段值 159
12.3.2 避免蜜罐 160
12.4 问题检查表 162
第13章 用爬虫测试网站 164
13.1 测试简介 164
13.2 Python单元测试 165
13.3 Selenium单元测试 168
13.4 Python单元测试与Selenium单元测试的选择 172
第14章 远程采集 174
14.1 为什么要用远程服务器 174
14.1.1 避免IP地址被封杀 174
14.1.2 移植性与扩展性 175
14.2 Tor代理服务器 176
14.3 远程主机 177
14.3.1 从网站主机运行 178
14.3.2 从云主机运行 178
14.4 其他资源 179
14.5 勇往直前 180
附录A Python简介 181
附录B 互联网简介 184
附录C 网络数据采集的法律与道德约束 188
作者简介 200
— 没有更多了 —
以下为对购买帮助不大的评价