热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

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章 Python概述 1
    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





最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册