新書推薦:
《
英雄之旅:把人生活成一个好故事
》
售價:HK$
89.7
《
分析性一体的涌现:进入精神分析的核心
》
售價:HK$
125.4
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:HK$
79.4
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:HK$
101.2
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:HK$
101.2
《
金托邦:江湖中的沉重正义
》
售價:HK$
62.1
《
易经今解:释疑·解惑·见微
》
售價:HK$
90.9
《
东欧史(全二册)-“中间地带”的困境
》
售價:HK$
227.7
|
編輯推薦: |
这是一套以实例为主、使用Python语言讲解网络数据爬虫及分析的实战指南。本套书通俗易懂,涵盖了Python基础知识、数据爬取、数据分析、数据预处理、数据可视化、数据存储、算法评估等多方面知识,每一部分知识都从安装过程、导入扩展包到算法原理、基础语法,再结合实例进行详细讲解。
本套书包括两本:《Python网络数据爬取及分析从入门到精通爬取篇》和《Python网络数据爬取及分析从入门到精通分析篇》。
看完此书,真正让你做到从入门到精通。
|
內容簡介: |
本书采用通俗易懂的语言、丰富多彩的实例,详细介绍了使用Python语言进行网络数据爬取的知识,主要内容包括Python语法、正则表达式、BeautifulSoup技术、Selenium技术、Scrapy框架、数据库存储等,同时详细介绍了爬取网站和博客内容、电影数据信息、招聘信息、在线百科知识、微博内容、农产品信息等实例。
书中所有知识点都结合经典实例进行介绍,涉及的实例都给出了详细的分析流程,程序代码都给出了具体的注释,同时采用图文结合的形式讲解,让读者能更加轻松地领会Python网络数据爬虫的精髓,并快速提高自己的开发能力。
本书即可作为Python开发入门者的自学用书,也可作为高等院校数据爬取、数据分析、数据挖掘、大数据等相关专业的教学参考书或实验指导书,还可供Python开发人员查阅、参考。
|
關於作者: |
杨秀璋,毕业于北京理工大学软件学院,长期从事Web数据挖掘、Python数据分析、网络数据爬取工作及研究。他现任教于贵州财经大学信息学院,主讲数据挖掘与分析大数据技术及应用课程,并从事大数据分析、数据挖掘、知识图谱等领域的项目研究与开发;有多年的Python编程、数据分析及知识图谱研究经验,实战经验较为丰富。
此外,他还积极分享编程知识和开源代码编写经验,先后在CSDN、博客园、阿里云栖社区撰写博客,仅在CSDN就分享了300多篇原创文章,开设了11个专栏,累计阅读量超过250万人次。
|
目錄:
|
第1章 网络数据爬取概述 1
1.1 网络爬虫 1
1.2 相关技术 3
1.2.1 HTTP 3
1.2.2 HTML 3
1.2.3 Python 5
1.3 本章小结 5
参考文献 5
第2章 Python知识初学 6
2.1 Python简介 6
2.2 基础语法 11
2.2.1 缩进与注释 11
2.2.2 变量与常量 12
2.2.3 输入与输出 14
2.2.4 赋值与表达式 16
2.3 数据类型 16
2.3.1 数字类型 16
2.3.2 字符串类型 17
2.3.3 列表类型 17
2.3.4 元组类型 19
2.3.5 字典类型 19
2.4 条件语句 19
2.4.1 单分支 20
2.4.2 二分支 20
2.4.3 多分支 21
2.5 循环语句 22
2.5.1 while循环 22
2.5.2 for循环 24
2.5.3 break和continue语句 24
2.6 函 数 25
2.6.1 自定义函数 26
2.6.2 常见内部库函数 27
2.6.3 第三方库函数 29
2.7 字符串操作 30
2.8 文件操作 32
2.8.1 打开文件 32
2.8.2 读写文件 32
2.8.3 关闭文件 33
2.8.4 循环遍历文件 34
2.9 面向对象 34
2.10 本章小结 36
参考文献 36
第3章 正则表达式爬虫之牛刀小试 37
3.1 正则表达式 37
3.2 Python网络数据爬取的常用模块 39
3.2.1 urllib模块 39
3.2.2 urlparse模块 42
3.2.3 requests模块 44
3.3 正则表达式爬取网络数据的常见方法 45
3.3.1 爬取标签间的内容 45
3.3.2 爬取标签中的参数 49
3.3.3 字符串处理及替换 50
3.4 个人博客爬取实例 52
3.4.1 分析过程 52
3.4.2 代码实现 57
3.5 本章小结 59
参考文献 59
第4章 BeautifulSoup技术 60
4.1 安装BeautifulSoup 60
4.1.1 Python 2.7安装BeautifulSoup 60
4.1.2 pip安装扩展库 63
4.2 快速开始BeautifulSoup解析 67
4.2.1 BeautifulSoup解析 HTML 68
4.2.2 简单获取网页标签信息 71
4.2.3 定位标签并获取内容 72
4.3 深入了解BeautifulSoup 73
4.3.1 BeautifulSoup对象 74
4.3.2 遍历文档树 79
4.3.3 搜索文档树 82
4.4 BeautifulSoup简单爬取个人博客网站 84
4.5 本章小结 87
参考文献 87
第5章 BeautifulSoup爬取电影信息 88
5.1 分析网页DOM 树结构 88
5.1.1 分析网页结构及简单爬取 88
5.1.2 定位节点及网页翻页分析 91
5.2 爬取豆瓣电影信息 94
5.3 链接跳转分析及详情页面爬取 98
5.4 本章小结 104
参考文献 104
第6章 Python数据库知识 105
6.1 MySQL数据库 105
6.1.1 MySQL的安装与配置 105
6.1.2 SQL基础语句详解 112
6.2 Python操作 MySQL数据库 119
6.2.1 安装 MySQL扩展库 119
6.2.2 程序接口DB-API 121
6.2.3 Python调用 MySQLdb扩展库 122
6.3 Python操作SQLite 3数__________据库 126
6.4 本章小结 129
参考文献 129
第7章 基于数据库存储的BeautifulSoup招聘爬虫 130
7.1 知识图谱和智联招聘 130
7.2 BeautifulSoup爬取招聘信息 132
7.2.1 分析网页超链接及跳转处理 132
7.2.2 DOM 树节点分析及网页爬取 135
7.3 Navicat for MySQL工具操作数据库 137
7.3.1 连接数据库 137
7.3.2 创建数据库 139
7.3.3 创建表 141
7.3.4 数据库增删改查操作 143
7.4 MySQL数据库存储招聘信息 146
7.4.1 MySQL操作数据库 146
7.4.2 代码实现 148
7.5 本章小结 153
参考文献 153
第8章 Selenium技术 154
8.1 初识Selenium 154
8.1.1 安装Selenium 155
8.1.2 安装浏览器驱动 156
8.1.3 PhantomJS 158
8.2 快速开始Selenium解析 159
8.3 定位元素 162
8.3.1 通过id属性定位元素 163
8.3.2 通过name属性定位元素 165
8.3.3 通过XPath路径定位元素 166
8.3.4 通过起链接文本定位元素 168
8.3.5 通过标签名定位元素 169
8.3.6 通过类属性名定位元素 170
8.3.7 通过CSS选择器定位元素 170
8.4 常用方法和属性 170
8.4.1 操作元素的方法 170
8.4.2 WebElement常用属性 174
8.5 键盘和鼠标自动化操作 175
8.5.1 键盘操作 175
8.5.2 鼠标操作 177
8.6 导航控制 178
8.6.1 下拉菜单交互操作 178
8.6.2 Window和Frame间对话框的移动 179
8.7 本章小结 180
参考文献 180
第9章 Selenium爬取在线百科知识 181
9.1 三大在线百科 181
9.1.1 维基百科 181
9.1.2 百度百科 183
9.1.3 互动百科 184
9.2 Selenium爬取维基百科 185
9.2.1 网页分析 185
9.2.2 代码实现 190
9.3 Selenium爬取百度百科 190
9.3.1 网页分析 190
9.3.2 代码实现 195
9.4 Selenium爬取互动百科 198
9.4.1 网页分析 198
9.4.2 代码实现 200
9.5 本章小结 202
参考文献 203
第10章 基于数据库存储的Selenium博客爬虫 204
10.1 博客网站 204
10.2 Selenium爬取博客信息 206
10.2.1 Forbidden错误 206
10.2.2 分析博客网站翻页方法 208
10.2.3 DOM 树节点分析及网页爬取 210
10.3 MySQL数据库存储博客信息 212
10.3.1 Navicat for MySQL创建表 213
10.3.2 Python操作 MySQL数据库 214
10.3.3 代码实现 216
10.4 本章小结 222
第11章 基于登录分析的Selenium微博爬虫 223
参考文献 242
第12章 基于图片抓取的Selenium爬虫 243
12.4 本章小结 254
第13章 Scrapy技术爬取网络数据 255
13.4 本章小结 285
参考文献 285
套书后记 286
致 谢 288
|
內容試閱:
|
随着数据分析和人工智能风暴的来临,Python也变得越来越火热。它就像一把利剑,使我们能随心所欲地做着各种分析与研究。在研究机器学习、深度学习与人工智能之前,我们有必要静下心来学习一下Python基础知识、基于Python的网络数据爬取及分析,这些知识点都将为我们后续的开发和研究打下扎实的基础。同时,由于世面上缺少以实例为驱动,全面详细介绍Python网络爬虫及数据分析的书,本套书很好地填补了这一空白,它通过Python语言来教读者编写网络爬虫并教大家针对不同的数据集做算法分析。本套书既可以作为Python数据爬取及分析的入门教材,也可以作为实战指南,包括多个经典案例。下面作者将简单介绍本套书。
它究竟是一套什么样的书呢? 对您学习网络数据抓取及分析是否有帮助呢?
本套书是以实例为主、使用Python语言讲解网络数据爬虫及分析的书和实战指南。本套书结合图表、代码、示例,采用通俗易懂的语言介绍了Python基础知识、数据爬取、数据分析、数据预处理、数据可视化、数据存储、算法评估等多方面知识,每一部分知识都从安装过程、导入扩展包到算法原理、基础语法,再结合实例详细讲解。本套书适合计算机科学、软件工程、信息技术、统计数学、数据科学、数据挖掘、大数据等专业的学生学习,也适合对网络数据爬取、数据分析、文本挖掘、统计分析等领域感兴趣的读者阅读,同时也作为数据挖掘、数据分析、数据爬取、机器学习、大数据等技术相关课程的教材或实验指南。
本套书分为两篇本:数据爬取篇和数据分析篇。其中,爬取篇详细讲解了正则表达式、BeautifulSoup、Selenium、Scrapy、数据库存储相关的爬虫知识,并通过实例让读者真正学会如何分析网站、爬取自己所需的数据;分析篇详细讲解了Python数据分析常用库、可视化分析、回归分析、聚类分析、分类分析、关联规则挖掘、文本预处理、词云分析及主题模型、复杂网络和基于数据库的分析。数据爬取篇突出爬取,数据分析篇侧重分析,为了更好地掌握相关知识,建议读者将两本书结合起来学习。
为什么本套书会选择Python作为数据爬取和数据分析的编程语言呢?
随着大数据、数据分析、深度学习、人工智能的迅速发展,网络数据爬取和网络数据分析也变得越来越热门。由于Python具有语法清晰、代码友好、易读易学等特点,同时拥有强大的第三方库支持,包括网络爬取、信息传输、数据分析、绘图可视化、机器学习等库函数,所以本套书选择Python作为数据爬取和数据分析的编程语言。
首先,Python既是一种解释性编程语言,又是一种面向对象的语言,其操作性和可移植性较高,因而被广泛应用于数据挖掘、文本抓取、人工智能等领域。就作者看来,Python最大的优势在于效率。有时程序员或科研工作者的工作效率比机器的效率更为重要,对于很多复杂的功能,使用较清晰的语言能给程序员减轻更多的负担,从而大大提高代码质量,提高工作效率。虽然Python底层运行速度要比C语言慢,但Python清晰的结构能节省程序员的时间,简单易学的特点也降低了编程爱好者的门槛,所以说人生苦短,我学Python。
其次,Python可以应用在网络爬虫、数据分析、人工智能、机器学习、Web开发、金融预测、自动化测试等多个领域,并且都有非常优秀的表现,从来没有一种编程语言可以像Python这样同时扎根在这么多领域。另外,Python还支持跨平台操作,支持开源,拥有丰富的第三方库。尤其随着人工智能的持续火热,Python在IEEE 发布的2017年最热门语言中排名第一,同时许多程序爱好者、科技工作者也都开始认识Python,使用Python。
接下来作者将Python和其他常用编程语言,突出其优势。相比于C#,Python是跨平台的、支持开源的,是一种解释型语言进行简单对比,可以运行在Windows、Linux等平台上;而C#则相反,其平台受限,不支持开源,并且需要编译。相比于Java,Python更简洁,学习难度也相对低很多,而Java则过于庞大复杂。相比于C和C,Python的语法简单易懂,代码清晰,是一种脚本语言,使用起来更为灵活;而C和C通常要和底层硬件打交道,语法也比较晦涩难懂。
目前,Python 3.x版本已经发布并正在普及,本套书却选择了Python2.7版本,并贯穿整套书的所有代码,这又是为什么呢?
在Python发布的版本中,Python 2.7是比较经典的一个版本,其兼容性较高,各方面的资料和文章也比较完善。该版本适用于多种信息抓取库,如Selenium、BeautifulSoup等,也适用于各种数据分析库,如Sklearn、Matplotlib等,所以本套书选择Python 2.7版本;同时结合官方的Python解释器和Anaconda集成软件进行详细介绍,也希望读者喜欢。Python 3.x版本已经发布,具有一些更便捷的地方,但大部分功能和语法都与Python 2.7是一致的,作者推荐大家结合Python 3.x进行学习,并可以尝试将本套书中的代码修改为Python 3.x版本,加深印象。
同时,作者针对不同类型的读者给出一些关于如何阅读和使用本套书的建议。
如果您是一名没有任何编程基础或数据分析经验的读者,建议您在阅读本套书时,先了解对应章节的相关基础知识,并手动敲写每章节对应的代码进行学习;虽然本套书是循序渐进深入讲解的,但是为了您更好地学习数据抓取和数据分析知识,独立编写代码是非常必要的。
如果您是一名具有良好的计算机基础、Python开发经验或数据挖掘、数据分析背景的读者,则建议您独立完成本套书中相应章节的实例,同时抓取自己感兴趣的数据集并深入分析,从而提升您的编程和数据分析能力。
如果您是一名数据挖掘或自然语言处理相关行业的研究者,建议您从本套书找到自己感兴趣的章节进行学习,同时也可以将本套书作为数据爬取或数据分析的小字典,希望给您带来一些应用价值。
如果您是一名老师,则推荐您使用本套书作为网络数据抓取或网络数据分析相关课程的教材,您可以按照本套书中的内容进行授课,也可以将本套书中相关章节布置为学生的课后习题。个人建议老师在讲解完基础知识之后,把相应章节的任务和数据集描述布置给学生,让他们实现对应的爬取或分析实验。但切记,一定要让学生自己独立实现书中的代码,以扩展他们的分析思维,从而培育更多数据抓取和数据分析领域的人才。
如果您只是一名对数据爬取或数据分析感兴趣的读者,则建议您简单了解本书的结构、每章节的内容,掌握数据抓取和数据分析的基本流程,作为您普及Web数据挖掘和大数据分析的参考书。
无论如何,作者都希望本套书能给您普及一些网络数据抓取相关的知识,更希望您能爬取自己所需的语料,结合本套书中的案例分析自己研究的内容,给您的研究课题或论文提供一些微不足道的思路。如果本套书让您学会了Python抓取网络数据的方法,作者就更加欣慰了。
最后,完成本套书肯定少不了很多人的帮助和支持,在此送上我最诚挚的谢意。
本套书确实花费了作者很多心思,包括多年来从事Web数据挖掘、自然语言处理、网络爬虫等领域的研究,汇集了作者5年来博客知识的总结。本套书在编写期间得到了许多Python数据爬取和数据分析爱好者,作者的老师、同学、同事、学生,以及互联网一些大牛的帮助,包括张老师北京理工大学、籍文大疆创新科技公司、徐溥SAP公司、俊林阿里巴巴公司、容神、峰子华为公司、田一南京理工大学、王金重庆邮电大学、罗炜北京邮电大学、胡子中央民族大学、任行中国传媒大学、青哥老师、兰姐电子科技大学、小何幸贵州财经大学、小民老师、任瑶老师等,在此表示最诚挚的谢意。同时感谢北京理工大学和贵州财经大学对作者多年的教育与培养,感谢CSDN 网站、博客园网站、阿里云栖社区等多年来对作者博客和专栏的支持。
由于本套书是结合作者关于Python实际抓取网络数据和分析数据的研究,以及多年撰写博客经历而编写的,所以书中难免会有不足或讲得不够透彻的地方,敬请广大读者谅解。
最后,以作者离开北京选择回贵州财经大学信息学院任教的一首诗结尾吧!
贵州纵美路迢迢,未付劳心此一遭。
收得破书三四本,也堪将去教尔曹。
但行好事,莫问前程。
待随满天桃李,再追学友趣事。
作 者
2018年2月24日
|
|