Python程序设计与网络爬虫
-
【作 者】黄海辉 彭新东
【I S B N 】978-7-5226-4164-5
【责任编辑】张玉玲
【适用读者群】本专通用
【出版时间】2026-02-09
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】220
【千字数】386
【印 张】13.75
【定 价】¥45
【丛 书】普通高等教育数据科学与大数据技术专业教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书主要介绍了Python的运行环境、基本语法、程序基本结构、组合数据类型、函数与网络爬虫技术等内容,全面覆盖了Python程序设计与爬虫从基础概念到实战应用的核心知识点。各章节内容循序渐进、由浅入深,旨在帮助读者逐步掌握Python程序设计基础与网络爬虫的开发与应用。
本书可作为Python程序设计和网络爬虫技术的入门教材,也可作为Python语言初学者、网络爬虫技术爱好者的参考书。
内容丰富
涵盖Python基础知识、爬虫工作原理、采集策略等知识
突出实战
通过丰富的案例和详细的步骤,提高读者的实际应用能力
内容前沿
介绍动态网页爬取等内容,使读者能够紧跟技术发展步伐
随着大数据时代的到来,数据的价值不断凸显和提升,而互联网是大量数据的主要载体,如何有效地获取并利用互联网上的大量数据是一个至关重要的问题。基于这种需求,网络爬虫应运而生,并迅速发展成为一门比较成熟的应用技术,逐渐成为相关企事业单位进行数据抓取与应用的重要工具之一。Python是实现网络爬虫的主流程序设计语言,它是一种解释型的、面向对象的、支持动态数据类型的高级程序设计语言。Python语法简洁、功能强大,拥有十分出色的程序编写效率,同时依托活跃的开源社区和海量程序库,比较适合编写网络爬虫程序或数据分析程序。本书以Python为基础,从爬虫的基本概念入手,逐步深入讲解爬虫的工作原理、采集策略、法律法规以及实际应用等方面。本书注重理论与实践相结合,通过丰富的案例和详细的步骤讲解,帮助读者逐步掌握网络爬虫的开发与应用。同时,本书也关注最新的技术动态和趋势,介绍了动态网页爬取、反爬虫策略应对以及Scrapy爬虫框架等高级内容,使读者能够紧跟技术发展前沿。
本书共分为15章,主要包括Python基础知识、基本语法,程序基本结构、组合数据类型,爬虫的基本概念和原理,爬虫的分类、结构及工作原理,采集策略和法律法规,反爬虫技术的原理及手段,绕过反爬虫技术的应对策略,Web前端基础,静态网页数据爬取,动态网页数据爬取,数据存储方法,以及反爬虫策略和Scrapy爬虫框架的使用。本书通过一个实际的豆瓣电影数据信息爬取案例,将所学知识综合运用,完整展示了一个爬虫项目的设计过程,涵盖项目场景分析、软硬件环境部署、数据爬取、解析和存储的全流程,为读者提供了宝贵的实践经验。
本书由黄海辉、彭新东担任主编,阳晓霞、赵辉、刘少锴担任副主编,蔡鹤群、陈国珍参与了本书部分内容的编写及资料整理工作。
由于编者水平有限,书中难免存在不足之处,敬请广大读者批评指正。
编 者
2025年7月
1.1 Python语言的定义和特点 1
1.1.1 Python语言的定义 1
1.1.2 Python语言的特点 2
1.2 Python开发环境的安装 2
1.2.1 安装要求 2
1.2.2 Python环境 2
1.2.3 Python 3.8.3的安装过程 3
1.3 IDLE编程环境 3
1.3.1 IDLE的工作模式 4
1.3.2 使用IDLE的调试器 4
1.4 PyCharm编程环境 5
1.5 沉默的巨龙:华人世界对Python的卓越贡献 8
1.5.1 社区构建与知识传播:Python在华夏大地的扎根之路 8
1.5.2 科技巨头的战略布局:从使用者到开源引领者 9
1.5.3 应用创新与生态繁荣:Python在各行各业的深度渗透 10
1.5.4 教育普及与人才培养:为未来播下种子 11
1.5.5 挑战与展望:从生态共建到核心引领 11
习题1 12
第2章 Python程序设计基础 13
2.1 Python基本语法 13
2.1.1 标识符 13
2.1.2 程序注释 13
2.1.3 代码块 14
2.1.4 基本输入/输出语句 15
2.2 使用解释器 16
2.2.1 交互式编程 16
2.2.2 脚本式编程 16
2.3 变量和类型 17
2.3.1 常量 17
2.3.2 变量 17
2.3.3 数据类型 18
2.3.4 数字类型转换 19
2.4 运算符和优先级 19
2.4.1 运算符 19
2.4.2 优先级 25
习题2 27
第3章 Python分支与循环控制结构 29
3.1 分支选择结构 29
3.1.1 if单分支选择结构 30
3.1.2 if双分支选择结构 30
3.1.3 if多分支选择结构 31
3.1.4 if嵌套 32
3.2 循环结构 33
3.2.1 while循环结构 33
3.2.2 for循环结构 36
3.2.3 break和continue语句 38
3.3 迭代器和生成器 42
3.3.1 迭代器 42
3.3.2 生成器 43
3.4 综合应用 44
习题3 46
第4章 组合数据类型 47
4.1 字符串 47
4.1.1 字符串变量的定义 47
4.1.2 字符串运算符 48
4.1.3 索引与切片 49
4.1.4 字符串更新 50
4.1.5 字符串格式化 51
4.1.6 特殊字符与转义字符 51
4.1.7 字符串的常用函数 52
4.2 列表 54
4.2.1 创建列表 54
4.2.2 查询列表 55
4.2.3 更新列表 55
4.2.4 删除列表元素 55
4.2.5 列表的常用函数 56
4.2.6 列表操作符 57
4.2.7 列表嵌套 58
4.3 元组 58
4.3.1 创建元组 59
4.3.2 元组的访问和查询 59
4.3.3 元组元素的连接 59
4.3.4 删除整个元组 60
4.3.5 元组运算符 60
4.3.6 元组与列表的转换 61
4.4 集合 61
4.4.1 创建集合 61
4.4.2 集合的常用运算 62
4.4.3 集合的比较运算 62
4.4.4 集合遍历运算 63
4.4.5 集合的常用函数 63
4.5 字典 63
4.5.1 访问字典 64
4.5.2 修改字典 64
4.5.3 删除字典元素 64
4.6 综合应用 65
习题4 65
第5章 函数和模块 67
5.1 函数 67
5.1.1 函数定义 67
5.1.2 函数调用 67
5.2 参数传递 68
5.2.1 参数传递对象 68
5.2.2 参数传递类型 69
5.3 匿名函数 72
5.4 返回值 72
5.5 变量作用域 72
5.5.1 局域变量和全域变量 72
5.5.2 global关键字 73
5.6 模块 73
5.6.1 模块定义 73
5.6.2 模块导入 74
习题5 75
第6章 面向对象设计 76
6.1 类和对象 76
6.1.1 定义和使用类 76
6.1.2 构造函数_ _init_ _() 78
6.1.3 析构函数 78
6.1.4 实例属性和类属性 78
6.1.5 私有属性和方法 79
6.2 类的继承和多态 81
6.2.1 类的继承 81
6.2.2 类的多继承 83
6.2.3 方法重写 85
6.2.4 运算符重载 85
6.3 代码的诗与思:Pythonic哲学与编程之道 86
6.3.1 《Python之禅》的深层解读 86
6.3.2 “万物皆对象”背后的抽象世界观 88
6.3.3 “胶水语言”的连接哲学 89
6.3.4 从代码到人生:编程教会人们的思维方式 90
习题6 91
第7章 爬虫的概念和原理 93
7.1 爬虫的概念 93
7.2 爬虫的分类 93
7.3 爬虫的工作流程及原理 94
7.3.1 网络爬虫的工作流程 94
7.3.2 网络爬虫的原理 94
7.4 爬虫的采集策略 95
7.4.1 基础采集策略 95
7.4.2 动态内容处理策略 95
7.4.3 分页与增量采集策略 96
7.4.4 反爬规避策略 96
7.4.5 优先级调度策略 96
7.5 爬虫的法律法规 96
7.5.1 爬虫的道德和法律 96
7.5.2 违法风险的主要情形 97
7.5.3 合规操作建议 97
7.6 爬虫的道德规范 97
7.6.1 爬虫合法性 97
7.6.2 Robots协议 97
习题7 98
第8章 Web前端基础 99
8.1 网页基础 99
8.1.1 HTML结构 99
8.1.2 CSS 100
8.2 HTTP基本原理 102
8.2.1 认识HTTP 102
8.2.2 HTTP请求过程 103
8.2.3 HTTP请求方法 104
8.2.4 请求与响应 104
8.2.5 HTTP状态码含义 105
8.2.6 HTTP请求头部 105
8.2.7 请求体 107
8.2.8 HTTP响应 107
8.2.9 Cookie 108
8.3 HTTP网络抓包 109
习题8 111
第9章 静态网页数据爬取 113
9.1 实现HTTP请求获取 113
9.2 urllib3库 114
9.2.1 生成GET请求 114
9.2.2 生成POST请求 115
9.2.3 请求头处理 116
9.2.4 设置超时 116
9.2.5 重试请求设置 117
9.2.6 发送完整的HTTP请求 117
9.3 requests库 118
9.3.1 请求方法 118
9.3.2 定制requests库中对请求头的处理 120
9.3.3 传递URL参数 121
9.3.4 设置验证Cookies 122
9.4 网页解析 123
9.4.1 使用Chrome浏览器开发者工具直接查看网页 123
9.4.2 正则表达式解析网页 125
9.4.3 lxml与XPath解析库 126
9.4.4 BeautifulSoup4 130
习题9 136
第10章 爬虫的数据存储 138
10.1 数据存储概述 138
10.2 文件存储 138
10.2.1 TXT文本文件存储 138
10.2.2 存储数据至CSV文件中 140
10.2.3 存储数据至JSON文件中 141
10.3 数据库存储 143
10.3.1 存储至MySQL 143
10.3.2 存储至MongoDB 148
10.4 案例实训:爬取豆瓣电影前250排行榜的信息 152
习题10 154
第11章 动态网页数据爬取 156
11.1 动态网页概述 156
11.2 动态网页和静态网页的区别 157
11.3 逆向分析爬取动态网页 159
11.4 动态网页爬取工具—Selenium 161
习题11 166
第12章 反爬虫技术原理及策略 168
12.1 反爬虫技术概述 168
12.2 反爬虫技术原理及手段 169
12.3 绕过反爬虫技术的应对策略 170
12.4 反爬虫技术总结 170
12.5 反爬虫策略 171
12.6 应对反爬虫策略的措施 171
12.6.1 网页登录POST分析 171
12.6.2 IP代理 174
12.6.3 降低请求频率 174
12.6.4 Cookie登录 175
12.6.5 处理验证码 176
习题12 182
第13章 Scrapy爬虫框架 184
13.1 认识Scrapy框架 184
13.2 Scrapy安装 186
13.3 Scrapy常用的命令 187
13.4 Scrapy框架的基本操作 187
习题13 197
第14章 项目案例:豆瓣电影数据信息爬取 198
14.1 案例介绍 198
14.1.1 项目场景 198
14.1.2 软硬件环境部署 199
14.2 使用Scrapy爬取网站数据 199
14.2.1 准备工作 199
14.2.2 创建项目 200
14.2.3 页面解析 201
14.2.4 内容输出 201
14.2.5 设置文件输出管道 202
14.2.6 设置分页 206
14.3 总结与扩展 206
第15章 超越代码:程序员的未来、AI共生 与终身学习 208
15.1 “码农”的终结:从执行者到创造者的角色演进 208
15.2 与AI共舞:人机协作的新编程范式 210
15.3 知识的“半衰期”与终身学习的哲学 211
15.4 技术向善:写给未来工程师的信 212
参考文献 214
- 实体店创业分析实务 [燕艳 陈文冬 编著]
- 中国对欧盟OFDI效率与风险的多维度实证评估—基于KK-SFA模型与PCF-聚类分析方法 [黄健钧 著]
- 生成式人工智能素养 [邱有春 罗明全]
- 系统分析师考试32小时通关(适配第2版考纲) [薛大龙 邹月平]
- Ansys DesignModeler参数化特征建模与仿真指南 [蔡宜时 编著]
- 浙江省山区县共富工坊建设的现状与对策 [徐骏骅 著]
- 计算机网络技术及应用(第3版) [主编 刘永华 陈瑶]
- 北京冬奥精神传承和发展研究 [顾春雨 邹新娴 等 著]
- 汽车营销理论与实务(第三版) [主编 赵培全]
- 人工智能基础与实践 [禹晨 赵金考 王宏斌 李璐]
- 系统分析师5天修炼(适配第2版考纲) [施游 邹汉斌 黄少年 主编]
- 线性代数(第二版) [惠小健 贺艳琴 夏斌湖]
- 微控制器系统设计(STM32版) [主编 杨凌]
- 机械原理与机械设计作业集(第二版) [主编 田亚平 李爱姣]
- 高剑父的现代国画研究 [陈水兴 著]
- 用英语介绍中国江河湖海 [庞彦杰 李静 赵娟 刘桂杰 编]
- 大学生创新创业基础(第2版) [主编 姜国权 方邡]
- 丰碑——河北水利电力学院校史(1950—2024) [河北水利电力学院校史编写委员会]
- 信息系统监理师真题及模考卷精析(适配第2版考纲) [主编 薛大龙]
- 高等职业教育深度教学研究 [何凤梅 陈逸怀 著]
- JavaScript前端框架应用实践教程(基于Vue 3.x) [主编 李礼 吴海天 刘颖]
- 人工智能理论与应用研究 [钟建坤 著]
- 中国民间美术山水语言体系研究 [陈钠 著]
- 园林规划设计 [主编 刘金萍]
- Linux系统管理(openEuler版) [主编 许兴鹍 黄君羡]
- Web前端开发从学到用完美实践 [阮晓龙 冯顺磊 编著]
- 用英语讲中国故事(全视频 彩色版)上、下册 [主编 谢亮亮 汪洋]
- 新时代大学生美育教育 [穆林 刘苍劲 彭圣芳]
- 电子商务英语 [丁文毅 严慧]
- 智能可穿戴项目化教程 [曾文波 陈赵云]

