高中信息技术必修1 数据与计算 2.1 获取信息的过程与方法 教学设计_第1页
高中信息技术必修1 数据与计算 2.1 获取信息的过程与方法 教学设计_第2页
高中信息技术必修1 数据与计算 2.1 获取信息的过程与方法 教学设计_第3页
高中信息技术必修1 数据与计算 2.1 获取信息的过程与方法 教学设计_第4页
高中信息技术必修1 数据与计算 2.1 获取信息的过程与方法 教学设计_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高中信息技术必修1数据与计算2.1获取信息的过程与方法教学设计一教材分析与核心素养定位本节课选自粤教版高中信息技术必修1《数据与计算》第2章第1节“获取信息的过程与方法”。教材以“数据编码与信息获取”为单元主题,将信息获取定位为数据处理链条的源头环节。内容涵盖信息源识别、获取策略制定、工具与技术选择、获取过程实施及结果评价五个维度。教材通过“校园气象站数据采集”、“网络舆情监测”、“历史文献数字化”三个情境串联知识点,意在引导学生从被动接收转向主动建构。依据《普通高中信息技术课程标准(2017年版2020年修订)》,本节课核心落脚点为“信息意识”与“计算思维”。信息意识要求学生敏锐判断信息源真伪、甄别数据质量优劣、遵循法律法规与伦理规范;计算思维要求学生能将模糊的现实问题形式化为结构化获取任务,设计分解步骤、选择算法工具、实现自动化采集。课程标准明确指出“理解信息获取的基本过程,掌握常用获取方法与工具”,这不仅是知识目标,更是能力标准。学情分析显示,学生对浏览器搜索、APP等操作层面技能娴熟,但缺乏系统性认知:不懂得如何从海量数据中精准定位目标,不理解爬虫与API的底层逻辑差异,更缺乏对反爬机制、数据清洗、隐私合规的工程化认知。教学必须打破“会用等于会获取”的误区,引导学生建立“需求分析—策略设计—工程实施—质量评价”的完整闭环认知。二教学目标体系构建1.信息意识层面:能结合具体任务识别结构化、半结构化、非结构化信息源特征;能依据《数据安全法》《个人信息保护法》界定获取边界,主动规避侵权风险;能批判性评估数据源权威性、时效性、完整性,形成证据基础决策习惯。2.计算思维层面:能将自然语言描述的获取需求转化为输入输出规格明确的计算任务;能对比HTTP请求、数据库查询、传感器接口、OCR识别等技术路线的适用边界;能设计包含异常处理、频率控制、增量更新的获取流程伪代码。3.数字化学习与创新层面:能协同完成“校园微气候监测”跨学科项目,集成物联网传感器、WebAPI、开放数据平台三类异构源;能运用Pythonrequests、BeautifulSoup、pandas工具链实现端到端自动化获取;能撰写结构化获取日志与数据质量报告,支撑后续可视化分析。三重难点突破策略重点:异构信息源统一建模与自动化获取流程工程化落地。难点:反爬虫机制下的合规突破策略与动态网页渲染数据提取。突破路径采用“三阶递进法”:认知重构期通过对比实验揭示浏览器与脚本获取的本质差异;建模实践期引入Selector与XPath可视化调试工具降低抽象门槛;工程化迁移期设计“断点续爬、IP代理池、验证码识别”三大挑战任务,倒逼学生面对工程复杂度。四教学环节设计与实施叙事(一)情境导入:从“气象站”到“数据工程师”的角色转换课堂伊始,投屏展示校园气象站实时大屏:温度、湿度、风速、PM2.5数据每秒刷新。提问:“这些数字是如何从物理世界跃入屏幕的?”学生常答“传感器传上来的”。追问:“若气象局开放API、气象卫星下发图像、历史年鉴存放图书馆、民间爱好者发布博客,作为数据工程师,你将如何在一小时内构建覆盖百年、精度分钟级的校园微气候数据集?”将单一技术操作升维为系统工程决策,激发认知冲突。分发“项目任务书”,明确四大子任务:T1物联网传感器实时流获取;T2气象开放平台历史数据批量;T3扫描纸质年鉴表格数字化;T4社交媒体极端天气目击报告挖掘。要求各组在三课时内提交可运行代码、数据样本、质量报告、合规声明。任务书采用工程级文档规范,含接口文档、字段字典、验收标准,模拟真实研发交付物。(二)认知建模:信息源三维分类与获取范式拆解引导学生构建“源类型—获取协议—数据形态”三维分类立方体。在白板上共同绘制,而非直接发放表格。维度一:源类型。结构化源(关系型数据库、CSV、API返回JSON)具备确定模式,获取核心是SQL与Schema映射;半结构化源(XML、HTML、日志文件)依赖标签层级,核心是树遍历与路径定位;非结构化源(PDF扫描件、音视频、自然语言文本)需引入OCR、ASR、NLP管线,核心是特征抽取与结构化重组。维度二:获取协议。本地文件系统调用read/write;数据库走JDBC/ODBC执行SELECT;Web端分为静态页面HTTPGET/POST直出HTML、动态页面AJAX/Fetch异步加载JSON、WebSocket长连接推流、GraphQL按需查询;物联网端涉及MQTT订阅、CoAP请求响应、Modbus寄存器轮询。维度三:数据形态。批量静态数据集(如历史气象年鉴)适合离线全量校验哈希;流式实时数据(如传感器遥测)需建立滑动窗口缓冲与背压机制;增量更新数据(如日志)依赖时间戳或游标实现断点续传。学生分组填充立方体九宫格,教师巡回提问:“为何气象局历史接口返回XML而实时接口推JSON?”“PDF扫描件直接正则提取为何失效?”强迫学生在具体场景中内化分类标准,而非死记硬背。(三)核心实战:Python自动化获取工程化全流程环节耗时两课时,采用“极限编程”模式:教师现场LiveCoding,学生同步跟敲,遇错即停共同调试。第一轮:静态页面结构化提取。目标:从气象局历史数据列表页批量20102023年月报PDF。演示ChromeDevToolsNetwork面板筛选Doc类型,定位翻页参数pageNo、pageSize。编写生成器函数yield列表页URL,引入requests.Session复用连接池,设置UserAgent、Referer、AcceptLanguage伪造浏览器指纹。讲解robots.txt协议解析,现场查看目标站点Disallow规则,决定遵守还是申请白名单。代码片段:importrequestsfrombs4importBeautifulSoupfromurllib.parseimporturljoinimporttimeimporthashlibBASE="http://./history/"HEADERS={"UserAgent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36"}deflist_page_urls(start_year,end_year):foryearinrange(start_year,end_year+1):yieldf"{BASE}list_{year}.html"defparse_list(html):soup=BeautifulSoup(html,"lxml")forainsoup.select("table.datalista[href$='.pdf']"):yieldurljoin(BASE,a["href"]),a.get_text(strip=True)defdownload_pdf(url,save_dir):resp=requests.get(url,headers=HEADERS,stream=True,timeout=30)resp.raise_for_status()fname=hashlib.md5(url.encode()).hexdigest()+".pdf"path=save_dir/fnamewithopen(path,"wb")asf:forchunkinresp.iter_content(8192):f.write(chunk)returnpath强调stream=True与iter_content避免大文件撑爆内存,演示如何用md5规避文件名冲突。引入tenacity库实现指数退避重试:fromtenacityimportretry,stop_after_attempt,wait_exponential_jitter@retry(wait=wait_exponential_jitter(initial=1,max=10),stop=stop_after_attempt(3))defsafe_get(url):returnrequests.get(url,headers=HEADERS,timeout=30)学生实测发现部分PDF为扫描件,引出OCR环节预告。第二轮:动态AJAX接口逆向与参数加密破解。目标:获取某气象APP实时网格化预报JSON。演示抓包工具Charles配置HTTPS解密,定位/api/v1/grid/forecast请求。分析参数:lat、lon、timestamp、sign。sign由MD5(lat+lon+timestamp+secret)生成,secret硬编码在混淆JS中。现场演示Node.js环境执行提取的签名函数,或用execjs在Python中调用JS引擎。代码关键点:importexecjsimporttimewithopen("sign.js",encoding="utf8")asf:ctx=execjspile(f.read())defgen_sign(lat,lon):ts=int(time.time()1000)sign=ctx.call("getSign",lat,lon,ts)returnts,signparams={"lat":23.12,"lon":113.26,"timestamp":ts,"sign":sign}resp=requests.get("https://api.weather.app/v1/grid/forecast",params=params,headers=HEADERS)print(resp.json())讲解为何不直接用Selenium:性能开销大、难以集成CI/CD、反自动化检测强。仅在JS逆向成本极高时才启用无头浏览器兜底。第三轮:增量爬取与断点续爬工程化。目标:每日增量同步气象局最新预警信息。设计状态持久化模型:SQLite表crawl_state存储last_id、last_modified、etag。启动时读取状态构造IfNoneMatch、IfModifiedSince请求头,实现304NotModified零流量跳过。引入APScheduler定时任务,配合日志轮转logging.handlers.RotatingFileHandler。核心逻辑:importsqlite3importrequestsfromapscheduler.schedulers.blockingimportBlockingSchedulerDB="crawl.db"definit_db():withsqlite3.connect(DB)asconn:conn.execute("""CREATETABLEIFNOTEXISTScrawl_state(sourceTEXTPRIMARYKEY,last_idTEXT,etagTEXT,modifiedTEXT)""")deffetch_incremental(source,url):withsqlite3.connect(DB)asconn:row=conn.execute("SELECTetag,modifiedFROMcrawl_stateWHEREsource=?",(source,)).fetchone()headers=HEADERS.copy()ifrow:headers["IfNoneMatch"],headers["IfModifiedSince"]=rowresp=requests.get(url,headers=headers,timeout=20)ifresp.status_code==304:return[]data=resp.json()withsqlite3.connect(DB)asconn:conn.execute("""INSERTORREPLACEINTOcrawl_stateVALUES(?,?,?,?)""",(source,data[1]["id"],resp.headers.get("ETag"),resp.headers.get("LastModified")))returndatascheduler=BlockingScheduler()scheduler.add_job(lambda:print(fetch_incremental("alert","/alerts")),"interval",minutes=10)scheduler.start()现场模拟网络抖动、服务端500、JSON解析异常,演示try/except/else/finally结构化异常处理,记录错误堆栈至SentrySDK,而非简单print。第四轮:非结构化源OCR管线构建。目标:识别1950年代纸质气象年鉴扫描件表格。演示pdfplumber提取文字版PDF表格,针对扫描件调用PaddleOCRPPStructureV2版面分析模型,输出HTML表格再由pandas.read_html解析。代码示范:importpdfplumberfrompaddleocrimportPPStructuredefextract_table_pdfplumber(pdf_path):tables=[]withpdfplumber.open(pdf_path)aspdf:forpageinpdf.pages:tables.extend(page.extract_tables())returntablesdefextract_table_ocr(img_path):engine=PPStructure(show_log=False,structure_version="PPStructureV2")result=engine(img_path)forregioninresult:ifregion["type"]=="table":html=region["res"]["html"]df=pd.read_html(html)[0]returndfreturnNone对比两种模式准确率与速度,引导学生根据源特征动态选择策略,而非单一技术栈强行通吃。(四)合规与伦理:法律红线与工程护栏同步构建穿插在实战全程,而非单独讲授。每个获取动作前必问三问题:1.是否公开公共数据?依据《政府信息公开条例》第10条判断主动公开范围。2.是否含个人信息?依据《个保法》第28条匿名化处理标准,演示用正则脱敏手机号、身份证号。3.是否触犯反不正当竞争法第12条“技术手段获取他人数据”?现场对比“合理爬取”与“恶意爬取”判例:尊重robots.txt、频率低于人工阈值、不绕过登录验证、不破坏服务可用性,四条红线不可逾越。引入合规检查清单机制:代码提交前必须通过premithook运行bandit安全扫描、licensecheck依赖证扫描、自定义规则检测硬编码Cookie、Token。演示GitLabCI流水线集成合规门禁,失败即阻断合并。让学生体会“合规左移”在工程中的具体落位。(五)质量评价与迁移拓展:数据画像与跨域迁移最后半课时,学生对获取数据集执行“数据画像”:使用pandasprofiling生成报告,检查缺失率、重复率、异常值分布、类型一致性。要求撰写《数据质量报告》含四维指标:完整性(必填字段非空率)、准确性(交叉验证气象站实测值与API返回值偏差)、一致性(同一实体多源字段冲突率)、及时性(数据生成到入库延迟分位数)。迁移任务:“若换成‘校园食堂菜品价格监测’‘二手书交易行情分析’‘实验室仪器使用日志审计’,你的获取架构哪些复用、哪些重构?”引导学生抽象出“源适配器模式”:定义统一接口fetch_incremental、parse、validate,具体实现注入不同Adapter类,体现开闭原则与依赖倒置。现场重构代码演示:fromabcimportABC,abstractmethodfromdataclassesimportdataclassfromtypingimportIterator,Any@dataclassclassRawRecord:source:strpayload:dictfetched_at:floatclassBaseAdapter(ABC):@abstractmethoddeffetch(self)>Iterator[RawRecord]:...classWeatherAPIAdapter(BaseAdapter):deffetch(self):复用前文增量逻辑yieldfrom...classPDFYearbookAdapter(BaseAdapter):deffetch(self):复用OCR管线yieldfrom...classOrchestrator:def__init__(self,adapters:list[BaseAdapter]):self.adapters=adaptersdefrun(self):foradapterinself.adapters:forrecordinadapter.fetch():统一入库、画像、告警pass学生现场完成新适配器编写,验证架构复用度。教师总结:信息获取不是写爬虫,是设计可演化的数据摄入基础设施。五教学评价体系与实施记录采用“过程性评价为主、终结性评价为辅”三维量表。维度一:工程交付物(权重50%)。代码仓库提交历史(mit信息规范性、分支策略、代码审查记录)、单元测试覆盖率(核心逻辑≥80%)、文档完备度(README、接口文档、运维手册)、CI/CD流水线通过率。维度二:问题解决复盘(权重30%)。每组提交《坑点复盘文档》:记录至少三个疑难故障(如字符集编码导致中文乱码、TLS握手失败、动态渲染XPath失效)、根因分析、解决方案、预防措施。教师评分关注根因定位的逻辑链条而非运气修复。维度三:合规与伦理答辩(权重20%)。随机抽查组员,现场提问:“若目标站点无robots.txt你如何判定?”“发现获取数据包含学生学号你如何处理?”“代理IP池来源合法性如何验证?”要求引用法条条款作答,拒绝模糊表述。实施记录显示:某组因忽略API限流返回429导致全量任务失败,复盘中引入令牌桶算法限流器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论