版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ADDINCNKISM.UserStyle教案首页课序18学时2周次教学内容第10章网络爬虫基础(爬虫基本概念、常用爬虫技术、爬虫基础、正则表达式)教学目标知识掌握网络爬虫的定义、作用与合规规范;理解HTTP请求、HTTP响应的核心组成;熟悉requests库基础用法、网页基础结构、简单正则表达式语法。能力能够使用requests库发送HTTP请求,获取网页源码;能够结合正则表达式简单解析网页、提取文本数据;具备基础的网页数据抓取实操能力。素养树立合法合规爬虫思维,遵守网站robots协议,拒绝恶意爬虫;培养数据思维,学会从网页中筛选、提取有效信息;提升代码调试能力,养成规范编码的编程习惯。教学重点HTTP请求与响应的核心参数;requests库常用请求方法(GET)的代码使用;简单正则表达式匹配网页数据的基础语法。教学难点理解网页结构与数据存储逻辑,区分源码中有效数据与冗余代码;正则表达式符号含义及简单匹配规则;排查爬虫基础报错(请求超时、状态码异常)。教学方法手段讲授法+案例导入法+任务驱动法+演示教学法教学组织方式1.内容导入2.知识点讲解3.案例与纠错4.小结5.作业课后反思1.正则表达式理解难度是否偏高,是否需要增加基础案例;2.课堂实操问题汇总,优化下节课授课节奏与重难点讲解方式教学环节课程引入新课讲解课堂讨论每课小结布置作业时间分配(以分钟计算)575532(以2课时为单元)教学设计一、内容导入1.课堂引入教师结合生活实例提问:网购平台的商品价格对比、天气网站的实时天气汇总、考研院校数据整理,这些批量采集网页数据的方式如何实现?引出本节课核心工具——Python网络爬虫。2.问题引导展示案例:手动复制网页文字耗时久、易出错,如何用代码一键抓取网页公开数据?对比手动采集与爬虫采集的优劣,激发学生学习兴趣。3.导入总结明确本节课学习方向:认识爬虫、掌握网络请求、学会抓取并简单解析网页数据,同时强调爬虫法律边界,禁止爬取隐私、付费、加密数据。二、知识点讲解(一)爬虫基本概念1.爬虫基本定义网络爬虫也被大家俗称“网页蜘蛛”“网络机器人”,本质是一段自动化程序。人浏览网页是手动点击、滑动、复制;爬虫程序则是按照我们编写的代码规则,自动向网站发送访问请求、自动下载网页源码、自动筛选保存有用数据。爬虫的核心目的就是批量、快速、自动化获取互联网公开静态数据。2.爬虫真实应用场景(课堂举例)生活中处处存在爬虫技术。搜索引擎(百度、搜狗)依靠爬虫抓取全网网页收录入库;电商比价平台爬取商品价格;天气平台抓取官方气象数据;考研、公考网站汇总招生公告;数据分析人员采集行业公开报表数据。通过举例让学生明白爬虫不是黑客工具,而是数据采集的常规技术手段。3.爬虫合规与法律边界(重点强调)明确爬虫使用红线:遵守网站robots协议,网站禁止爬取的目录坚决不访问;控制访问频率,禁止高频一秒多次请求,避免给服务器造成压力,形成网络攻击;严禁爬取个人隐私、手机号、身份证、付费权限、加密后台数据。教学中强调:合法爬虫学习、恶意爬虫违法。4.两大类爬虫核心技术爬虫工作分为两大步骤,①HTTP请求技术:模拟浏览器,向网站服务器发送访问申请,拿到网页原始数据;②网页解析技术:原始源码杂乱无章,需要通过正则、标签筛选等方式,过滤无用代码,提取文字、链接、图片等有效数据。所有爬虫无论难易,都离不开“请求+解析”两大流程。(二)HTTP请求与HTTP响应1.HTTP请求详细解析HTTP协议是浏览器与服务器之间通用的数据传输协议,无状态、简单快速。客户端包含两类:真实用户的浏览器、我们编写的Python爬虫程序。常用请求方式细分讲解:GET请求为只读请求,不会修改网站数据、无加密参数、适合入门爬虫。本节课唯一要求掌握;POST请求一般用于登录、提交表单、上传数据,多用于高级爬虫。请求头headers是本次重点,headers内部包含浏览器型号、操作系统、访问设备信息,如果爬虫不带请求头,服务器会识别为非法程序,直接拦截返回报错。2.HTTP响应详细解析服务器收到请求后,返回给程序的全部数据统称为响应。响应内容包含三部分:状态码、响应头、网页源码。课堂逐个拆解常用状态码:200OK代表请求完全成功,数据正常返回;404NotFound代表网页地址错误、页面不存在;500代表网站服务器内部故障,不是代码问题。额外补充常见拓展状态码:403禁止访问,多为没有请求头被网站拦截。response.text就是我们爬虫拿到的网页源代码,是后续解析的数据来源。3.完整网络交互流程(通俗流程)教师用通俗话术讲解流程:第一步,爬虫代码组装URL网址、请求头,发送访问申请;第二步,网站服务器接收请求,检测访问频率、访问身份、权限;第三步,校验通过后服务器返回网页源码,校验失败返回403、404报错;第四步,爬虫接收源码,保存、解析、提取数据。简单总结为:发请求—做校验—回数据—做解析。(三)requests库基础1.requests库Python自带的原生网络库语法繁琐、兼容性差,因此行业普遍使用第三方库requests。该库语法人性化、代码简洁、支持HTTPS、自动适配编码,是爬虫入门必学、企业最常用的请求库。明确告知学生:入门爬虫优先学requests,不推荐原生urllib库。2.库安装与常见问题通用安装命令pipinstallrequests。课堂补充常见异常:网速慢导致安装超时、pip环境变量未配置、国内镜像下载慢。顺带给出解决办法:更换国内镜像源快速安装,适合机房统一教学。3.核心方法①requests.get(url):向指定网址发送GET请求,返回响应对象;②response.status_code:专门用于判断访问是否成功,写代码时建议先判断状态码;③response.text:返回网页字符串源码,用于文本爬虫;拓展补充:response.content用于图片、视频二进制爬取,为下节课铺垫。4.请求头HeadersUser-Agent是请求头最重要参数,作用是伪装成真实浏览器。如果不添加headers,机房统一IP高频访问极易被网站封禁。课堂强调:所有爬虫代码,必须标配请求头,养成规范编码习惯。(四)网页结构1.HTML网页基础结构讲解所有静态网页本质都是HTML结构化文本,由成对标签组成。标签分为:根标签、头部标签、主体标签。本节课只要求掌握常用可视化标签:<body>存放全部可见网页内容;<div>大区块划分;<a>超链接标签,用于跳转网页;<span>存放短小文本。教师强调:爬虫本质就是在标签嵌套中找数据。2.网页源码特征分析源码包含大量标签、属性、符号、换行、空格,肉眼看起来杂乱,但是结构层级清晰。源码中包含:文字、链接、图片地址、样式代码、脚本代码。爬虫需要剔除无用样式、脚本代码,保留有效文本数据。3.网页查看与调试方法(实操教学):教师演示操作:浏览器右键检查、F12开发者工具、查看网页源代码。教会学生快速定位数据:鼠标选中网页文字,在源码自动高亮对应标签,让学生直观理解数据存放位置,为正则匹配打下基础。(五)简单正则表达式1.正则表达式作用网页源码成千上万行,肉眼查找数据效率极低。正则表达式是一种字符串匹配规则,能够按照编写的符号规则,自动在海量源码中筛选出符合格式的内容,适合提取标题、链接、手机号、日期等规整数据。2.入门正则符号本节课只讲最简单、爬虫最常用三类符号,降低学生学习难度:①英文小数点.:匹配任意一个除换行以外的字符;②星号*:匹配前面字符出现0次或无限次;③括号():括号内内容单独提取,是本节课提取标题的核心语法。额外补充非贪婪匹配?,解释.*?组合含义:任意无长度限制字符,防止匹配过多冗余内容。3.Python中re库使用规范re为Python内置库,无需安装。本节课要求掌握唯一方法:re.findall(匹配规则,文本内容),返回列表格式数据。课堂强调:正则写法必须加r原始字符串,防止转义字符报错,养成爬虫编码规范。三、代码演示(20分钟)本次演示采用公开测试网页,无反爬限制,适配零基础学生,分步实操、逐行讲解代码含义。1.演示目标使用requests库请求网页,获取源码,通过正则表达式提取网页内标题文本。2.完整演示代码#1.导入所需库importrequestsimportre#2.定义请求地址和请求头(模拟浏览器)url=""headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36"}#3.发送GET请求,获取网页响应response=requests.get(url=url,headers=headers)#设置编码,防止中文乱码response.encoding="utf-8"#4.打印状态码,判断请求是否成功print("请求状态码:",response.status_code)#5.打印部分网页源码print("网页源码:\n",response.text[:500])#6.正则表达式提取网页标题pattern=r"<title>(.*?)</title>"title=re.findall(pattern,response.text)print("网页标题:",title[0])3.常见报错演示与解决展示无请求头导致访问拦截、编码错误出现乱码的问题,修改代码优化,培养学生排错能力。四、内容小结1.知识总结爬虫本质:自动抓取网页公开数据的程序,必须合法合规使用;网络交互:客户端发送HTTP请求,服务器返回HTTP响应,200为成功状态码;核心工具:requests库实现网络请求,re正则库实现简单数据解析;网页结构:HTML标签嵌套存储数据,是爬虫抓取数据的载体。2.重难点复盘重点掌握requests.get()用法、请求头配置;难点理解正则匹配逻辑、网页源码数据定位。3.下节课预告下一节课讲解进阶网页解析方式,学习lxm库和xpath,简化网页标签数据提取,无需复杂正则。五、布置作业1.基础作业(必做)熟记HTTP常用状态码(200、404、500)含义,手写正则基础匹配符号;复刻课堂代码,更换公开静态网页,抓取网页标题并打印输出。2.提升作业(选做)修改代码,利用正则表达式提取网页中的全部超链接;3.拓展思考思考:为什么部分网页直接发送请求会访问失败?课堂组织【教师活动】导入阶段:结合生活案例提问,展示爬虫应用案例,引出本节课知识点;讲解阶段:通俗易懂讲解网络交互原理,拆解专业术语,标注重点、难点;强调爬虫合规法律法规;演示阶段:投屏实操,逐行讲解代码,实时运行展示效果,演示常见报错及解决方案;互动阶段:随机提问状态码含义、正则符号用法,抽查学生掌握情况。【学生活动】听讲思考:跟随教师思路,理解HTTP交互逻辑,记录重点语法与注意事项;实操练习:复刻课堂演示代码,独立运行程序,观察状态码、源码、提取结果;修改调试:自主修改请求网址,尝试提取不同网页的标题,练习正则匹配;问题反馈:记录实操中出现的报错,主动向教师提问,交流解决思路;合规自查:牢记爬虫规范,不随意访问加密、限制访问的网站。ADDINCNKISM.UserStyle教案首页课序19学时2周次教学内容第10章网络爬虫基础(xpath简介、lxml库使用、反爬解决方案)教学目标知识了解XPath概念、作用、语法特点,理解路径表达式匹配原理;掌握lxml库功能、安装方式、文档解析流程;认识网站反爬虫机制,掌握入门级反爬解决方案。能力能够熟练书写常用XPath路径语法,定位HTML标签节点;能够使用lxml库结合XPath完成网页数据精准解析;能够针对基础反爬手段,添加请求头、延时访问完成简易绕过。素养培养学生结构化数据思维,强化爬虫合规意识,培养代码优化思维,养成规范、稳定、低频率的爬虫编写习惯。教学重点XPath常用路径语法:绝对路径、相对路径、属性匹配;lxml库解析网页、转换文档、提取数据的代码流程;最常用三种简易反爬解决方案:请求头伪装、延时休眠、访问频率控制。教学难点XPath常用路径语法:绝对路径、相对路径、属性匹配;lxml库解析网页、转换文档、提取数据的代码流程;最常用三种简易反爬解决方案:请求头伪装、延时休眠、访问频率控制。教学方法手段讲授法、案例导入法、演示教学法、任务驱动法、启发提问法教学组织方式1.内容导入2.知识点讲解3.案例与纠错4.小结5.作业课后反思1.正则表达式理解难度是否偏高,是否需要增加基础案例;2.课堂实操问题汇总,优化下节课授课节奏与重难点讲解方式教学环节课程引入新课讲解课堂讨论每课小结布置作业时间分配(以分钟计算)575532(以2课时为单元)教学设计一、内容导入1.复习回顾教师提问复盘上节课知识点:如何使用requests获取网页源码?正则表达式提取数据的优缺点?引导学生回答:正则写法复杂、可读性差、嵌套标签难以精准匹配、容易匹配多余内容。2.问题导入展示复杂网页源码:多层div嵌套、大量冗余标签。提出问题:如果需要精准提取某一个区块内的文本,正则表达式难度极大,有没有专门针对HTML结构化网页的解析语法?3.新课引入引出本节课两大核心工具:XPath(网页定位语法)+lxml库(解析工具),同时讲解实际爬取中经常遇到403拦截、访问超时等问题,引入反爬基础解决方案,为后续进阶爬虫做铺垫。二、知识点讲解(一)XPath简介1.XPath基本概念XPath全称XML路径语言,专门用于定位XML、HTML文档中的节点标签。通俗解释:XPath相当于网页源码的“定位导航器”,可以通过层级路径直接找到指定标签,无需复杂模糊匹配。相较于正则表达式,XPath更适合结构化网页,语法简洁、可读性强、定位精准。2.HTML节点关系教师通俗讲解节点关系:网页所有标签构成树形结构,包含父节点、子节点、同级节点。例如html为根节点,body为html子节点,div为body子节点。XPath依靠节点层级实现精准定位。3.XPath常用语法(课堂必背)/:绝对路径,从根节点开始匹配;//:相对路径,全局搜索任意位置标签(最常用);@:根据属性定位,如@class、@id;text():获取标签内部文本内容;[]:条件筛选,限定标签属性或位置。4.基础语法示例//div:匹配页面中所有div标签;//div[@class="box"]:匹配class为box的div标签;//a/text():提取a标签内部文字。(二)lxml库使用1.lxml库介绍lxml是Python高性能网页解析库,解析速度快、容错性高,能够自动修复不规范HTML标签,是配合XPath的专用解析库。明确告知学生:lxml+XPath是爬虫行业主流搭配,比正则更适合网页解析。2.库安装与环境说明安装命令:pipinstalllxml。机房常见报错:安装编译失败,给出解决方案:更换国内镜像源、升级pip。强调lxml是第三方库,每次使用必须手动导入。3.lxml解析网页完整流程导入lxml.etree模块;将网页字符串源码转换为可解析的HTML文档对象;使用xpath()方法书写路径表达式;循环提取、保存目标数据。4.重点方法精讲etree.HTML():将网页源码转为树形结构,自动补全残缺标签;html.xpath("路径表达式"):执行定位,返回列表格式数据。5.编码问题处理讲解中文乱码原因:网页编码与程序编码不一致。解决方案:请求阶段手动设置encoding、lxml解析时忽略编码错误,养成编码调试习惯。(三)反爬解决方案1.反爬虫机制产生原因网站为保护服务器、防止恶意高频访问、避免数据被盗,设置防护机制。常见现象:访问返回403、频繁访问封禁IP、页面空白无数据。教师强调:反爬不是禁止学习爬虫,是禁止恶意爬虫。2.三大简易反爬方案(入门必掌握)请求头伪装(最基础):添加User-Agent模拟浏览器,屏蔽基础爬虫检测;延时休眠访问:导入time库,time.sleep(3),降低访问频率,模拟人浏览节奏;简单IP限制规避:单次程序运行不要循环高频请求,减少短时间访问次数。(四)代码演示(20分钟)1.演示目标使用requests获取网页、lxml+XPath精准提取网页超链接文本,同时加入反爬手段(请求头+延时),实现稳定爬虫案例。2.完整课堂演示代码importrequestsfromlxmlimportetreeimporttime#1.配置请求地址与请求头(反爬手段1:伪装浏览器)url=""headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36"}#2.延时休眠(反爬手段2:降低访问频率)time.sleep(2)#3.发送网络请求response=requests.get(url=url,headers=headers)response.encoding="utf-8"#4.lxml解析网页html=etree.HTML(response.text)#5.XPath语法:精准提取页面所有超链接文字link_list=html.xpath("//a/text
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工方案围墙简易图(3篇)
- 暴风式传播营销方案(3篇)
- 桥面系附属施工方案(3篇)
- 水泥临时道路施工方案(3篇)
- 洋酒活动推广方案策划(3篇)
- 渔港升级改造施工方案(3篇)
- 特步营销方案分析(3篇)
- 疏浚土方开挖施工方案(3篇)
- 社区取暖点应急预案(3篇)
- 粉丝群维护营销方案(3篇)
- 第5章第2节染色体变异高一下学期生物人教版必修2
- 食堂食品安全监控系统建设方案
- 2026年电气工程及其自动化试题预测试卷含答案详解【研优卷】
- 湖南省长郡教育集团2026届中考四模历史试题含解析
- 供应商入围框架协议
- 天津大学毕业论文答辩PPT模板
- 跨文化交际(课件)
- 设施蔬菜栽培技术课件
- 教师专业技能提升培训-班级管理心理学专题课件
- 特种设备及安全附件维护保养、检查记录
- 全国各俞氏辈分收集
评论
0/150
提交评论