《Python基础案例教程》第8章 Python编程实战.pptx





《《Python基础案例教程》第8章 Python编程实战.pptx》由会员分享,可在线阅读,更多相关《《Python基础案例教程》第8章 Python编程实战.pptx(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Python基础案例教程第8章 Python编程实战PythonPython基础案例教程基础案例教程(微课版)(微课版)第第8 8章章 PythonPython编程实战编程实战第第8 8章章 PythonPython编程实战编程实战Python语言强大之处在于它拥有众多的第三方库,构建起了一个庞大的生态圈。比如在网页开发、网络编程、网络爬虫、云计算、人工智能、自动化运维、科学计算以及游戏开发等领域,都可以非常方便地使用Python编写程序解决问题,这使得Python几乎无所不能。本章主要介绍Python爬虫、数据处理以及人工智能几个方面的应用。通过三个较大的实战项目,经历程序开发的完整过程,学
2、习在第三方库的帮助下,解决较为复杂的实际问题。教 学 内 容01 新书推荐榜02 就业信息管理03 人脸识别考勤系统目录目录CONTENTS8.1.1 8.1.1 项目分析项目分析李明作为学校读书会的成员,需要定期向同学们推荐新书。当当网定期根据销售及评论数据,更新许多图书榜单,其中有各类新书榜单,这正是李明同学所需要的。一般做法是,复制每本书的相关信息,保存下来,但是这种方法费时费力,能否通过Python编写程序,自动从当当网的榜单页面,提取其中的书名、作者、出版社等信息,生成自己的新书推荐榜单呢?新书推荐榜8.1.1 8.1.1 项目分析项目分析新书推荐榜如何编写一个网络爬虫程序,自动访问
3、当当网的新书榜单页面?如何将HTML页面中指定的信息提取出来?提出问题分析目标页面8.1.1 8.1.1 项目分析项目分析新书推荐榜 从页面中可以看出,榜单共有25页,每页20本,共列出了500本图书信息。单击某个页码,网址最后一个数字会变化,根据这个规则,即可得到每个页面的URL地址页码图书信息信息URL地址地址1第120条http:/ 8.1.1 项目分析项目分析新书推荐榜图书信息信息标签类型型标签层级位置位置书名标签li div.name a作者标签li div.publisher_info a出版社标签li div.publisher_info a推荐指数标签li div.star s
4、pan.tuijian例如:书名“2020武汉日记”文字是一个标签,其父标签是一个名为name的div标签,再往上级是一个li标签,通过这些层级关系,就可以准确定位一个标签在HTML代码中的位置。明确项目目标8.1.1 8.1.1 项目分析项目分析新书推荐榜(1)根据榜单页码规则,拼接每页的URL地址;(2)向服务器发送HTTP请求;(3)获取反馈结果,取出图书信息部分源码;(4)解析出每本书的书名、作者、出版社、推荐指数;(5)将每本书的信息保存到列表中,并显示出来。知识准备8.1.1 8.1.1 项目分析项目分析新书推荐榜1网络爬虫的工作过程 网络爬虫工作过程如图8.4所示,首先由客户端爬
5、虫程序向目标网站服务器发送一个URL请求,服务器返回一个HTML页面,客户端爬虫程序解析出需要的数据,保存起来,再向服务器发送下一个URL请求,如此循环往复,直至爬取所需的全部页面。知识准备8.1.1 8.1.1 项目分析项目分析新书推荐榜 2发送HTTP请求 网络爬虫程序工作的第一步是向目标网站发起HTTP请求。Python中的requests库,专门用于向服务器发送HTTP请求,并获得返回数据。使用前,需要先用pip命令安装。requests库中最常用的请求方式是GET,只需要将URL地址作为参数,就可以向URL指定的服务器发送请求,服务器接收到请求后,返回一个response对象,里面包
6、括状态码、头部信息以及HTML源码文本。知识准备8.1.1 8.1.1 项目分析项目分析新书推荐榜 3解析HTML标签 获取到网页源码后,如何将指定的标签内容提取出来呢?除了字符串搜索以外,Python提供了许多优秀的第三方库,可以快速定位并提取源码中的HTML标签,其中BeautifulSoup4比较常用。使用之前,需要使用pip install bs4安装。解题思路8.1.2 8.1.2 项目规划项目规划新书推荐榜算法设计8.1.2 8.1.2 项目规划项目规划新书推荐榜编程实现8.1.3 8.1.3 项目实施项目实施新书推荐榜编程实现8.1.3 8.1.3 项目实施项目实施新书推荐榜编程
7、实现8.1.3 8.1.3 项目实施项目实施新书推荐榜编程实现8.1.3 8.1.3 项目实施项目实施新书推荐榜robots协议8.1.3 8.1.3 项目提升项目提升新书推荐榜 网络爬虫技术一是一把双刃剑,方便网络数据获取的同时,也给网站服务器增加额外的负担,甚至可能会成为非法获取信息的手段,所以有些网站会禁止爬虫的访问,一般会用robots协议来约定,即用一个名为robots.txt的文件放在网站根目录,用于声明本网站哪些内容可以被爬取,哪些内容禁止爬取。HTTP头部信息8.1.3 8.1.3 项目提升项目提升新书推荐榜 某些URL用浏览器能够正常访问,但爬虫程序提交request请求,总
8、是获取不到数据。很可能是网站服务器拒绝了来自网络爬虫程序的请求。服务器通过headers信息来判断请求者是真实的浏览器还是网络爬虫程序,故可以通过伪装headers对服务器发起请求,从而获取正确的反馈页面。异常处理8.1.4 8.1.4 程序优化程序优化新书推荐榜 网络爬虫程序访问目标网站时,有时会失败,如果不进行异常处理,程序就会崩溃,如果很好地处理这些异常,便能大大提升爬虫的工作效率。降低访问频率8.1.4 8.1.4 程序优化程序优化新书推荐榜 于爬虫程序访问服务器的速度太快,如果不加限制,可能会被服务器上的安全软件识别成恶意攻击,不会反馈结果,甚至可能会被封掉本机IP地址所有的请求。所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python基础案例教程 Python基础案例教程第8章 Python编程实战 Python 基础 案例 教程 编程 实战

限制150内