帮助
|
留言交流
|
首 页
阅览室
馆友
我的图书馆
来自:
籽油荃面
>
馆藏分类
配色:
字号:
大
中
小
《Python基础案例教程》第8章(微课版)课件
2022-12-13 | 阅:
转:
|
分享
《Python基础案例教程》(微课版)第8章 Python编程实战林文明第8章 Python编程实战Python语言强大之处在于它拥有众
多的第三方库,构建起了一个庞大的生态圈。比如在网页开发、网络编程、网络爬虫、云计算、人工智能、自动化运维、科学计算以及游戏开发等领
域,都可以非常方便地使用Python编写程序解决问题,这使得Python几乎无所不能。本章主要介绍Python爬虫、数据处理以及人
工智能几个方面的应用。通过三个较大的实战项目,经历程序开发的完整过程,学习在第三方库的帮助下,解决较为复杂的实际问题。教学内容01
新书推荐榜02 就业信息管理03 人脸识别考勤系统目录CONTENTS8.1.1 项目分析李明作为学校读书会的成员,需要定期向
同学们推荐新书。当当网定期根据销售及评论数据,更新许多图书榜单,其中有各类新书榜单,这正是李明同学所需要的。一般做法是,复制每本书
的相关信息,保存下来,但是这种方法费时费力,能否通过Python编写程序,自动从当当网的榜单页面,提取其中的书名、作者、出版社等信
息,生成自己的新书推荐榜单呢?新书推荐榜8.1.1 项目分析新书推荐榜如何编写一个网络爬虫程序,自动访问当当网的新书榜单页面?如
何将HTML页面中指定的信息提取出来?提出问题分析目标页面8.1.1 项目分析新书推荐榜 从页面中可以看出,榜单共有25
页,每页20本,共列出了500本图书信息。单击某个页码,网址最后一个数字会变化,根据这个规则,即可得到每个页面的URL地址确定信息
需求8.1.1 项目分析新书推荐榜例如:书名“2020武汉日记…”文字是一个
标签,其父标签是一个名为name的div标签,
再往上级是一个li标签,通过这些层级关系,就可以准确定位一个标签在HTML代码中的位置。明确项目目标8.1.1 项目分析新书推荐
榜(1)根据榜单页码规则,拼接每页的URL地址;(2)向服务器发送HTTP请求;(3)获取反馈结果,取出图书信息部分源码;(4)解
析出每本书的书名、作者、出版社、推荐指数;(5)将每本书的信息保存到列表中,并显示出来。知识准备8.1.1 项目分析新书推荐榜1
.网络爬虫的工作过程 网络爬虫工作过程如图8.4所示,首先由客户端爬虫程序向目标网站服务器发送一个URL请求,服务器返
回一个HTML页面,客户端爬虫程序解析出需要的数据,保存起来,再向服务器发送下一个URL请求,如此循环往复,直至爬取所需的全部页面
。知识准备8.1.1 项目分析新书推荐榜 2.发送HTTP请求 网络爬虫程序工作的第一步是向目标网站发起H
TTP请求。Python中的requests库,专门用于向服务器发送HTTP请求,并获得返回数据。使用前,需要先用pip命令安装。
requests库中最常用的请求方式是GET,只需要将URL地址作为参数,就可以向URL指定的服务器发送请求,服务器
接收到请求后,返回一个response对象,里面包括状态码、头部信息以及HTML源码文本。知识准备8.1.1 项目分析新书推荐榜
3.解析HTML标签 获取到网页源码后,如何将指定的标签内容提取出来呢?除了字符串搜索以外,Python
提供了许多优秀的第三方库,可以快速定位并提取源码中的HTML标签,其中BeautifulSoup4比较常用。使用之前,需要使用pi
p install bs4安装。解题思路8.1.2 项目规划新书推荐榜算法设计8.1.2 项目规划新书推荐榜编程实现8.1.3
项目实施新书推荐榜编程实现8.1.3 项目实施新书推荐榜编程实现8.1.3 项目实施新书推荐榜编程实现8.1.3 项目实
施新书推荐榜robots协议8.1.3 项目提升新书推荐榜 网络爬虫技术一是一把双刃剑,方便网络数据获取的同时,也
给网站服务器增加额外的负担,甚至可能会成为非法获取信息的手段,所以有些网站会禁止爬虫的访问,一般会用robots协议来约定,即用一
个名为robots.txt的文件放在网站根目录,用于声明本网站哪些内容可以被爬取,哪些内容禁止爬取。HTTP头部信息8.1.3
项目提升新书推荐榜 某些URL用浏览器能够正常访问,但爬虫程序提交request请求,总是获取不到数据。很可能是网站
服务器拒绝了来自网络爬虫程序的请求。服务器通过headers信息来判断请求者是真实的浏览器还是网络爬虫程序,故可以通过伪装head
ers对服务器发起请求,从而获取正确的反馈页面。异常处理8.1.4 程序优化新书推荐榜 网络爬虫程序访问目标网站时
,有时会失败,如果不进行异常处理,程序就会崩溃,如果很好地处理这些异常,便能大大提升爬虫的工作效率。降低访问频率8.1.4 程序
优化新书推荐榜 于爬虫程序访问服务器的速度太快,如果不加限制,可能会被服务器上的安全软件识别成恶意攻击,不会反馈结果,
甚至可能会被封掉本机IP地址所有的请求。所以,需要在每次访问后添加一个间隔时间。保存到Excel8.1.4 程序优化新书推荐榜
本项目中的爬虫程序将获取到的数据只进行了打印输出。其实,书单更适合的存储形式是Excel表格。Python写入Exc
el表格的方法较多,比较常用的是xlsxwriter库。8.2.1 项目分析 又到毕业季,李明同学来到学校学生处,希望了解一
下往届的学长们的就业情况,但他看到《毕业生就业情况反馈表》Word文档,这种以文件方式来管理的信息,不方便查询、修改、统计和分享,
应用价值很有限。李明同学希望借助自己学习的Python知识,将这些Word文档中的重要信息保存到数据库中,建立一个毕业生就业信息管
理系统。就业信息管理如何读取Word文档中表格内指定的内容,保存到数据库中?如何搭建软件界面,实现对数据库的增加、删除、修改、查询
操作?提出问题8.2.1 项目分析就业信息管理1.分析文档结构分析问题8.2.1 项目分析就业信息管理2.明确功能需求分析问题
8.2.1 项目分析就业信息管理3.确定项目目标分析问题8.2.1 项目分析就业信息管理(1)建立数据库,创建数据表,包含学号
、姓名、专业、就业类别以及就业单位5个字段; (2)读取Word文档中指定的信息,添加到数据库;(3)建立程序窗体,以表格形式显示
数据库内容,建立打开、删除、查询、更新等功能的操作界面;(4)对数据库内容的增加、删除、修改、查询等操作。1.读取Word文档知识
准备8.2.1 项目分析就业信息管理Word文件的读取方法与之类似,需要安装Word文件操作的第三方库docx,在命令行输入命令
:“pip install python-docx”即可完成安装。2.建立数据库知识准备8.2.1 项目分析就业信息管理本项目需
要建立一个数据库,存储毕业生的就业信息。Python自带的SQLite就是一款轻量级的数据库,它以一个.db后缀的文件存在,无需安
装管理软件,可以跨平台访问,非常简洁。使用前需要使用“pip install sqlite3”安装。2.建立数据库知识准备8.2.
1 项目分析就业信息管理3.设计图形界面知识准备8.2.1 项目分析就业信息管理3.设计图形界面知识准备8.2.1 项目分析
就业信息管理解题思路8.2.2 项目规划就业信息管理算法设计8.2.2 项目规划就业信息管理编程实现8.2.3 项目实施就业
信息管理1.数据库操作函数8.2.3 项目实施就业信息管理2.批量提取Word文档信息编程实现8.2.3 项目实施就业信息管理
3.显示数据内容编程实现8.2.3 项目实施就业信息管理4.数据的查询与删除操作编程实现8.2.3 项目实施就业信息管理5.搭
建程序窗体编程实现8.2.3 项目实施就业信息管理1.读入Word文件调试运行8.2.3 项目实施就业信息管理2.查询和删除信
息调试运行8.2.4 项目提升就业信息管理程序优化8.2.4 项目提升就业信息管理程序优化8.3.1 项目分析人脸识别考勤系
统提出问题 随着人工智能的发展,人脸识别得到了广泛应用,购物时可以刷脸支付;银行办业务时可以刷脸认证;公司上班时可
以刷脸考勤等。 李明同学希望利用这一技术建立一个人脸识别考勤系统,利用摄像头采集人脸照片,与人脸库中的照片进行对比
,完成签到,自动保存签到记录。如何调用本地摄像头,获取人脸照片?如何建立人脸信息库,进行人脸识别考勤?并保存考勤记录?8.3.1
项目分析人脸识别考勤系统提出问题1.明确功能需求分析问题(1)打开本地摄像头,按空格键截取人脸照片;(2)提取人脸特征信息与已有
的特征库中照片进行对比;(3)输出签到时间、班级姓名等信息,同时记录到本地文件中;(4)用上传照片的方式新增学生人脸信息到人脸库。
8.3.1 项目分析人脸识别考勤系统2.寻找实现方法分析问题 百度大脑的AI开放平台提供了诸多人工智能的基础功能,可以方
便地进行调用。比如人脸识别应用,就有人脸检测、人脸对比、人脸搜索、活体检测等许多功能。百度大脑还提供了可视化人脸库,便于进行人脸搜
索和对比。8.3.1 项目分析人脸识别考勤系统2.寻找实现方法分析问题关于调用摄像头捕捉画面,可以使用OpenCV库,它是一款优
秀的跨平台计算机视觉库,可用于获取摄像头实时视频中的某一帧,保存成图片。另外本项目还将用到requests 库来发送请求,base
64库来转换图片格式、json库来组织参数、time库来记录时间等。8.3.1 项目分析人脸识别考勤系统1.创建人脸识别应用项目
准备8.3.1 项目分析人脸识别考勤系统2.获取接口调用凭据项目准备8.3.1 项目分析人脸识别考勤系统3.建立人脸库项目准备
8.3.1 项目分析人脸识别考勤系统3.建立人脸库项目准备8.3.1 项目分析人脸识别考勤系统解题思路8.3.2 项目规划人
脸识别考勤系统算法设计8.3.2 项目规划人脸识别考勤系统编程实现8.3.3 项目实施人脸识别考勤系统1.调用百度API的函数
编程实现8.3.3 项目实施人脸识别考勤系统2.主程序调试运行8.3.3 项目实施人脸识别考勤系统程序优化8.3.4 项目提升人脸识别考勤系统(1)学生人数很多,如何批量上传学生照片到人脸库?(2)签到记录和提示语中,可否显示学生班级和姓名信息?每个人脸信息除了user_id之外,还可以添加一个描述性的字段:user_info。但在手动上传时,无法指定user??_info字段。编写一个人脸注册的函数,批量把已有的照片合并注册到人脸库中。程序优化8.3.4 项目提升人脸识别考勤系统程序优化8.3.4 项目提升人脸识别考勤系统THANKS FOR WATCHING
献花(
0
)
+1
(本文系
籽油荃面
首藏
)
类似文章
更多
Python大神一节课完整开发人脸识别系统让你学会怎么搞定刷脸考勤
卧槽,又来一个 Python 神器!!
python爬虫只需三个步骤,一个项目带你快速掌握
建筑施工现场广域网人脸考勤管理系统
唐山平安工地:新手段!“刷脸”进工地
python opencv怎么实现人脸识别考勤系统
学Python这么能没有练手项目?
最近一直在学习python,做一个什么项目练手呢?
练完这96个python爬虫项目(附源码)就试着去赚米吧!
发表评论: