华信教育资源网
Python网络爬虫技术项目教程
“十四五”职业教育国家规划教材
丛   书   名: “十四五”职业教育国家规划教材
作   译   者:彭涛 出 版 日 期:2025-02-21
出   版   社:电子工业出版社 维   护   人:贺志洪 
书   代   号:G0481430 I S B N:9787121481437

图书简介:

本书基于 Python 3.10,以项目教学的方式,循序渐进地介绍 Python网络爬虫的基本原理和具体应用的方法与技巧。全书分 7个项目,具体内容包括: Python基础认知、网络爬虫基础认知、 Urllib请求模块库的应用、安装 Urllib3请求模块库并发送请求、 Requests请求模块库的应用、解析网页、 Scrapy网络爬虫框架认知等。本书实例丰富、内容翔实、操作方法简单易学,不仅适合作为职业院校计算机类相关专业的教材,也可作为从事数据分析相关工作的专业人士的参考用书。
您的专属联系人更多
关注 评论(2) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书基于 Python 3.10,以项目教学的方式,循序渐进地介绍 Python网络爬虫的基本原理和具体应用的方法与技巧。
    全书分 7个项目,具体内容包括: Python基础认知、网络爬虫基础认知、 Urllib请求模块库的应用、安装 Urllib3请求模块库并发送请求、 Requests请求模块库的应用、解析网页、 Scrapy网络爬虫框架认知等。
    本书实例丰富、内容翔实、操作方法简单易学,不仅适合作为职业院校计算机类相关专业的教材,也可作为从事数据分析相关工作的专业人士的参考用书。

    图书详情

    ISBN:9787121481437
    开 本:16开
    页 数:0
    字 数:0

    本书目录

    项目一 Python基础认知 ····················································································· 1
    任务一初识 Python......................................................................................................................................... 1
    一、Python简介........................................................................................................................................ 1
    二、安装 Python........................................................................................................................................ 2
    三、安装 PyCharm .................................................................................................................................... 6
    四、Python语法规范 .............................................................................................................................. 11
    任务二了解 Python命令的组成 .................................................................................................................. 13
    一、基本符号 .......................................................................................................................................... 14
    二、常量与变量 ...................................................................................................................................... 16
    三、数据类型 .......................................................................................................................................... 19
    四、功能符号 .......................................................................................................................................... 24
    任务三了解程序结构 ................................................................................................................................... 26
    一、表达式语句 ...................................................................................................................................... 26
    二、顺序结构 .......................................................................................................................................... 27
    三、选择结构 .......................................................................................................................................... 28
    四、循环结构 .......................................................................................................................................... 30
    五、条件表达式 ...................................................................................................................................... 31
    六、程序的流程控制 .............................................................................................................................. 32
    项目实战 ........................................................................................................................................................... 33
    实战输出百度网址 .............................................................................................................................. 33
    项目二网络爬虫基础认知 ················································································· 35
    任务一了解网络爬虫 ................................................................................................................................... 35
    一、网络爬虫的基本原理 ...................................................................................................................... 36
    二、网络爬虫系统框架 .......................................................................................................................... 37
    三、爬行策略 .......................................................................................................................................... 37
    四、网络爬虫的分类 .............................................................................................................................. 38
    五、开源网络爬虫框架/项目 ................................................................................................................. 39 
    任务二认识 HTTP........................................................................................................................................ 41
    一、HTTP的工作原理........................................................................................................................... 41
    二、Urllib模块库 ................................................................................................................................... 42
    三、URL定义......................................................................................................................................... 43
    四、URL编码设置................................................................................................................................. 47
    任务三熟悉网页请求过程 ........................................................................................................................... 50
    一、发送请求报文.................................................................................................................................. 51
    二、返回响应.......................................................................................................................................... 52
    三、HTTP消息....................................................................................................................................... 53
    项目实战........................................................................................................................................................... 54
    实战一搜索商品网址.......................................................................................................................... 54
    实战二搜索食品价格网址.................................................................................................................. 56
    项目三 Urllib请求模块库的应用 ········································································· 58
    任务一发送网页请求 ................................................................................................................................... 58
    一、基本 HTTP请求 .............................................................................................................................. 58
    二、Request网络请求............................................................................................................................ 66
    三、设置请求头...................................................................................................................................... 67
    四、Handler方法发送请求 .................................................................................................................... 69
    五、设置代理 IP ..................................................................................................................................... 71
    六、身份验证.......................................................................................................................................... 73
    任务二网页下载........................................................................................................................................... 77
    一、网页结构.......................................................................................................................................... 77
    二、写入网页文件.................................................................................................................................. 77
    三、网页文件下载.................................................................................................................................. 79
    项目实战 ........................................................................................................................................................... 82
    实战一下载 Python学习网址............................................................................................................. 82
    实战二下载公司网页 HTML文件..................................................................................................... 85
    项目四安装 Urllib3请求模块库并发送请求··························································· 87
    任务一安装 Urllib3请求模块库 .................................................................................................................. 87
    一、安装 Anaconda................................................................................................................................. 87
    二、安装 Urllib3模块库 ........................................................................................................................ 92
    任务二发送请求 ........................................................................................................................................... 95
    一、创建代理对象.................................................................................................................................. 96
    二、请求方法.......................................................................................................................................... 98
    三、定义请求头...................................................................................................................................... 99
    四、设置代理 IP ................................................................................................................................... 101
    五、自动重试........................................................................................................................................ 102
    六、重定向............................................................................................................................................ 103
    项目实战 ......................................................................................................................................................... 104 
    实战发送请求访问淘宝网站 ............................................................................................................ 104
    项目五 Requests请求模块库的应用 ··································································106
    任务一网页请求 ......................................................................................................................................... 106
    一、标准的 HTTP请求 ........................................................................................................................ 107
    二、返回响应消息 ................................................................................................................................ 109
    三、JSON格式数据 .............................................................................................................................. 114
    任务二发送请求方法 ................................................................................................................................. 117
    一、发送 GET请求方法....................................................................................................................... 118
    二、发送 POST请求方法..................................................................................................................... 120
    三、其他请求方法 ................................................................................................................................ 125
    任务三复杂网络请求 ................................................................................................................................. 126
    一、复杂请求头 .................................................................................................................................... 126
    二、上传文件 ........................................................................................................................................ 129
    三、Cookies验证 .................................................................................................................................. 131
    四、会话保持 ........................................................................................................................................ 131
    任务四异常处理 ......................................................................................................................................... 133
    一、try-except语句 ............................................................................................................................... 133
    二、Urllib异常处理模块...................................................................................................................... 134
    三、Urllib3异常处理模块.................................................................................................................... 135
    四、request异常处理模块.................................................................................................................... 135
    项目实战 ......................................................................................................................................................... 138
    实战爬取豆瓣最受欢迎的影评网址................................................................................................. 138
    项目六解析网页 ····························································································141
    任务一使用正则表达式解析网页 .............................................................................................................. 141
    一、正则表达式模式 ............................................................................................................................ 142
    二、使用 re模块实现正则表达式 ....................................................................................................... 143
    三、字符串查找 .................................................................................................................................... 144
    四、字符串替换 .................................................................................................................................... 148
    五、字符串分割 .................................................................................................................................... 149
    任务二利用 XPath解析网页...................................................................................................................... 150
    一、XPath概述 ..................................................................................................................................... 150
    二、XPath网页解析 ............................................................................................................................. 152
    三、获取节点信息 ................................................................................................................................ 154
    四、节点关系 ........................................................................................................................................ 160
    五、查找节点信息 ................................................................................................................................ 162
    六、属性节点 ........................................................................................................................................ 163
    七、XPath运算符 ................................................................................................................................. 165
    八、XML节点轴 .................................................................................................................................. 168 
    任务三使用 BeautifulSoup解析网页 ........................................................................................................ 170
    一、安装 BeautifulSoup........................................................................................................................ 171
    二、创建 BeautifulSoup对象............................................................................................................... 171
    三、通过属性获取节点内容................................................................................................................ 173
    四、根据节点关系获取节点................................................................................................................ 176
    五、查找节点内容................................................................................................................................ 178
    六、通过 CSS选择器查找节点内容 ................................................................................................... 182
    项目实战......................................................................................................................................................... 183
    实战一获取查询网中河北省石家庄市的邮编区号 ........................................................................ 183
    实战二爬取销售热门图书名称 ........................................................................................................ 186
    实战三下载销售热门图书的图片 .................................................................................................... 188
    项目七 Scrapy网络爬虫框架认知及应用·····························································190
    任务一 Scrapy网络爬虫框架基础认知 ..................................................................................................... 190
    一、Scrapy网络爬虫框架基础............................................................................................................ 190
    二、Scrapy常用命令............................................................................................................................ 192
    三、创建 Scrapy项目........................................................................................................................... 193
    任务二使用模板创建 Spider文件............................................................................................................. 194
    一、创建网络爬虫文件命令 ................................................................................................................ 195
    二、创建 basic模板文件...................................................................................................................... 196
    三、创建 crawl模板文件 ..................................................................................................................... 197
    四、创建 csvfeed模板文件.................................................................................................................. 198
    五、创建 xmlfeed模板文件................................................................................................................. 198
    任务三 Scrapy网络爬虫文件 ..................................................................................................................... 199
    一、Spider类 ........................................................................................................................................ 199
    二、配置网络爬虫................................................................................................................................ 201
    三、启动网络爬虫................................................................................................................................ 202
    四、提取数据........................................................................................................................................ 207
    项目实战 ......................................................................................................................................................... 209
    实战提取景区名称............................................................................................................................ 209 

    展开

    前     言

    在互联网大数据时代,海量数据爆炸式地出现在网络中,给人们的生活带来极大的便利。但同时,在海量的信息中,大多数信息是无效的垃圾信息。如何在海量的信息碎片中得到真正需要的信息,成为人们的迫切需求。
    最简单的数据信息获取方式是人工操作浏览器搜索信息,但是单靠人工进行筛选不太现实,于是网络爬虫技术应运而生。通过该技术将相关的内容收集起来,再经过分析、筛选才能得到人们真正需要的信息。
    网络爬虫(又被称为网页蜘蛛、网络机器人)是一种模拟浏览器发送网络请求、接收请求响应,按照一定的规则自动抓取互联网信息的程序。网络爬虫可以用来爬表格、爬图片、爬视频等,能通过浏览器访问的数据都可以通过网络爬虫获取。
    本书以由浅入深、循序渐进的方式展开讲解,并通过经典的实例对 Python网络爬虫的功能进行详细介绍,具有极高的实用价值。通过本书的学习,读者可以掌握 Python网络爬虫的基本原理和应用方法。
    一、本书特点 
    .实例丰富
    本书中的实例不管是数量还是种类,都非常丰富。本书结合大量的 Python网络爬虫实例,详细介绍 Python网络爬虫的基本原理,让读者在学习实例的过程中潜移默化地掌握 Python网络爬虫的应用方法。 
    .突出提升技能
    本书从全面提升读者的 Python网络爬虫实际应用能力出发,通过深入剖析实例,使读者能够独立地完成各种 Python网络爬虫应用操作。书中的大部分实例源自 Python网络爬虫项目案例,经过编者的精心提炼和改编,不仅能帮助读者学好知识点,而且能够提升读者的实际操作水平。 
    .技能与思政教育紧密结合
    本书在介绍 Python网络爬虫专业知识的同时,紧密结合思政教育主旋律,使读者在学好专业知识的同时,还能强化思政教育。 
    .项目式教学,实操性强
    本书的编者都是高校从事 Python网络爬虫教学与研究多年的一线教师,具有丰富的教学实践经验与教材编写经验。多年的教学工作使他们能够准确地把握学生的心理与实际需求。编者总结多年的开发经验及教学心得体会,力求在本书中全面、细致地展现 Python网络爬虫的基本原理和应用方法。

    .项目形式,实用性强
    本书采用项目的形式组织内容,把 Python网络爬虫的理论知识分解并融入每个项目中,增强了本书的实用性。
    二、本书的基本内容
    本书共 7个项目,具体内容包括: Python基础认知、网络爬虫基础认知、 Urllib请求模块库的应用、安装 Urllib3请求模块库并发送请求、 Requests请求模块库的应用、解析网页、 Scrapy网络爬虫框架认知等。
    三、关于本书的服务
    本书本书由江西青年职业学院彭涛、谢宏兰担任主编,由武汉厚溥集团厚溥研究院(合作企业)高级工程师李伟、东华理工大学全蕾、江西青年职业学院余丽娜、付比鹤担任副主编。其中,彭涛老师编写项目三、六和项目七的内容,谢宏兰老师编写项目五的内容,李伟高级工程师和付比鹤老师编写项目二的内容,余丽娜老师编写项目四的内容,全蕾老师编写项目一的内容,付比鹤老师还承担了项目资料的整理工作。
    为满足教师的教学需求,本书配备了丰富的教学资源,包括电子课件、源文件等,读者可以登录华信教育资源网(www.hxedu.com.cn)免费注册后下载本书的相关教学资源。如有问题,请在网站留言板留言或与电子工业出版社联系( E-mail: hxedu@phei.com.cn)。
    由于编者水平有限,书中不妥之处在所难免,恳请广大读者批评指正。
    编者
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
    本书暂无样章试读!
  • 图 书 评 价 我要评论
华信教育资源网