第3章 简单静态网页爬取
教案
课程名称:Python网络爬虫技术 课程类别:必修
适用专业:大数据技术类相关专业
总学时:32学时(其中理论14学时,实验18学时) 总学分:2.0学分 本章学时:9学时
一、 材料清单
(1) 《Python网络爬虫技术》教材。 (2) 配套PPT。 (3) 引导性提问。 (4) 探究性问题。 (5) 拓展性问题。
二、 教学目标与基本要求
1. 教学目标
先用Python中的urllib3或Requests库实现HTTP请求得到静态网站HTML。然后分别介绍用Chrome开发者工具查看网页、用正则表达式解析网页、用Xpath解析网页、用Beautiful Soup库解析网页4种方法解析HTML网页得到想要的数据。最后将爬取到的信息存储为JSON文件,或存储入MySQL数据库。
2. 基本要求
(1) 分别使用urllib 3库、Requests库实现HTTP请求。
(2) 分别使用Chrome开发者工具、正则表达式、Xpath和Beautiful Soup解析网页。(3) 使用JSON模块、PyMySQL库存储数据。
三、 问题
1. 引导性提问
引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。
(1) 拿到一个HTML代码文本,如果你想获取其中一些字段你会怎么获取? (2) 你认为爬虫可以分为几个部分?
2. 探究性问题
探究性问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。
(1) Requests库与urllib 3库哪个更好用,为什么?
(2) 有人认为Xpath解析网页的方法比Beautiful Soup解析网页的方法好用一些,你认可这观点吗?为什么?
3. 拓展性问题
拓展性问题需要教师深刻理解教材的意义,学生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。亦可以提供拓展资料供学生研习探讨,完成拓展性问题。
(1) 如何规避通过访问频度反爬?
(2) JSON对象、字典、字符串相互转换要用到哪些方法?
四、 主要知识点、重点与难点
1. 主要知识点
(1) 使用urllib 3库实现HTTP请求。 (2) 使用Requests库实现HTTP请求。 (3) 使用Chrome开发者工具查看网页。 (4) 使用正则表达式解析网页。 (5) 通过Xpath解析网页。
(6) 使用Beautiful Soup库解析网页。 (7) 将数据存储为JSON文件。 (8) 将数据存储入MySQL数据库。
2. 重点
(1) 使用Requests库实现HTTP请求。 (2) 使用Xpath解析网页。
(3) 使用Beautiful Soup库解析网页。 (4) 将数据存储入MySQL数据库。
3. 难点
(1) 使用Xpath解析网页。
(2) 使用Beautiful Soup库解析网页。
五、 教学过程设计
1. 理论教学过程
(1) 掌握使用urllib3库生成HTTP请求、处理请求头、设置超时、设置请求重试。 (2) 掌握使用Requests库生成HTTP请求、查看状态码与编码、处理请求头与响应
Python网络爬虫技术 第3章 简单静态网页爬取 教案



