Python爬虫与网络数据采集案例实践(微课视频版)教案_第1页
Python爬虫与网络数据采集案例实践(微课视频版)教案_第2页
Python爬虫与网络数据采集案例实践(微课视频版)教案_第3页
Python爬虫与网络数据采集案例实践(微课视频版)教案_第4页
Python爬虫与网络数据采集案例实践(微课视频版)教案_第5页
已阅读5页,还剩168页未读 继续免费阅读

下载本文档

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

文档简介

XXX学校教案授课题目(章节或主题)课程介绍第1章爬虫与网络数据采集概述授课时间2025年9月1日第1周星期一第1-2节第1次课授课时数2学时教学课型公共必修□基础必修□专业必修R专业组选□专业任选£专项实践□其他£本次课教学目标(本次课需要达成的思想道德、知识、能力、素质目标):思想道德目标:遵守数据采集开发中的法律和道德问题,培养良好的职业道德修养。知识与能力目标:1.了解开设《数据采集技术》课程缘由、如何学?学什么?以及课程学习目标;2.理解数据采集与网络爬虫的概念;3.了解数据采集的来源与方法;4.熟悉网络爬虫的分类与应用场景;5.掌握网络数据采集的原理与流程;6.能够区分通用网络爬虫与聚焦网络爬虫;7.能够概括网络爬虫采集网页的原理与流程。素质目标:培养学生能够根据IT岗位的职位需求分析,提前规划自己的职业路线。学习数据采集的法律法规,培养法律意识与法治观念。做一个知法守法,在数据采集过程中能遵循Robots协议并合理获取数据。达成本次课教学目标的课程教学主要内容(课程教学内容与课程教学目标相匹配,支持课程教学目标达成):主要内容:1.整体介绍课程性质与作用、课程基本要求、课程学时与学分、本课程在课程体系中作用、网络爬虫工程师岗位分析、课程考核方式,以及网络学习资源推荐;2.数据采集与网络爬虫的概念;3.数据采集的来源与方法;4.网络爬虫的分类与应用场景;5.网络数据采集的原理与流程。重点与难点:1.网络数据采集的原理与流程。教学方法(有效支持教学目标达成。请打√选择,可多选):项目教学法£讨论法☑PBL(以问题为中心的教学法)R练习法(习题或操作)£案例教学法£讲授法R其他□教学媒体(有助于教学目标达成。请打√选择,可多选):教材R多媒体R幻灯R录像R云平台空间R板书□其他£教学过程设计(包括教学内容、教学方法、板书设计、情境设计、提问、课堂讨论等师生互动的设计等。为学生建立深层次学习环境,支持教学目标达成):1.线上资源:提前将课程介绍、教学大纲、教学日历、实验指导书、实验环境搭建说明和相关软件、教学课件上传到课程学习通平台上,提醒学生线上自学为主,并在超星学习通平台上通知学生提前在自己电脑上安装和配置好课程学习环境,以及清楚课程学习的整体目标。2.课程介绍:介绍数据采集技术在大数据专业知识体系中的作用、相关岗位与技能链分析、如何学、学什么及学习目标。(20分钟)3.讲解数据采集的概念、关键任务、常见的数据来源、数据采集的方法。(20分钟)(1)数据采集:是从不同来源收集所需数据的过程。(2)网络数据采集任务的关键步骤如下:1)明确采集目标:定义要获取的数据和数据的用途。2)选择采集工具:选择合适的采集工具。3)设置采集规则:设定适当的访问频率、定义抓取的深度和广度。4)分析网站结构:分析目标网站的页面结构。5)实施数据抓取:从目标网站抓取数据。6)数据清洗:对采集的数据进行清洗和转换。7)数据存储:存储清洗后的数据。4.介绍网络的概念与分类、爬虫的应用场景。(10分钟)(1)常见的数据来源有九种:1)网页(WebPages)2)应用程序接口(ApplicationProgrammingInterface,API)3)数据库(Databases)4)日志文件(LogFiles)5)社交媒体(SocialMedia)6)传感器数据(SensorData)7)开放数据集(OpenDatasets)8)文件(Files)9)人工采集(ManualCollection)(2)数据采集的方法1)数据库的采集方法:SQL查询、ETL工具、数据库导出功能、编程语言接口、ORM框架和实时数据流技术。2)系统日志的采集方法:ApacheFlume、ELKStack、Syslog服务、容器化环境的日志采集。3)网络数据采的集方法:网络爬虫(WebCrawler/Spider)、API调用、RSS订阅和可视化Web数据抓取工具。4)感知设备数据的采集方法:传感器直接读数、数据记录仪、物联网平台和无线传感网络。(3)网络爬虫的概念与分类1)网络爬虫(WebCrawler/WebSpider):也称为网页蜘蛛或网络机器人(WebRobot),本质上是一种按照特定规则自动浏览万维网并抓取信息的计算机程序或自动化脚本。2)网络爬虫分类通用爬虫(GeneralPurposeWebCrawler/UniversalWebCrawler):广泛地爬取整个万维网的页面,限定特定的主题。聚焦爬虫(FocusedCrawler/TopicalCrawler):爬取特定主题相关的网页。增量式爬虫(IncrementalWebCrawler):采集新出现的或内容发生变化的网页。深层网络爬虫(DeepWebCrawler):用来尝试自动提交表单、模拟登录、处理验证过程等,以访问和抓取这类“隐藏”信息的爬虫。(4)爬虫的应用场景搜索引擎构建、数据挖掘与舆情监控、新闻聚合与内容追踪、社交媒体洞察、网络安全与事件响应和教学实践与学术研究。5.重点讲授网络数据采集的工作原理、网络数据采集的流程。(10分钟)(1)网络数据采集的工作原理发起请求、接收响应、解析内容、处理和存储、循环和遍历和处理反爬虫机制。(2)网络数据采集的流程6.讲解网络数据采集的编程语言、网络数据采集的的可视化工具。(10分钟)(1)网络数据采集的编程语言:Python、Java、Go、PHP、Ruby、JavaScript、Scala和Kotlin。(2)网络数据采集的可视化工具:八爪鱼采集器、火车采集器、GooSeeker集搜客、后羿采集器、ParseHub、Octoparse、ScrapyHub和Apify。7.课堂讨论与知识抢答。(10分钟)多媒体课件+超星学习通+课堂讨论复习思考及作业布置(目的是帮助学生达成教学目标):课后在学习通平台上复习课程介绍、第1章前5节内容,并在线学习本次课相关微视频和数字人视频对重难点进一步巩固。下节课预习内容:在课程学习通平台预习第1章后3节内容和第2章前2节内容。本部分教学内容的参考资料(包括辅助教材、参考书、文献、网络教学资源等):1.课程超星平台:/mooc-ans/mycourse/teachercourse?moocId=207215442&clazzid=804877592.《Python爬虫与网络数据采集案例实战》叶丽珠、张兰编著,2025.07,清华大学出版社;3.《Python网络爬虫:从入门到精通》吕云翔编著,2023.06,人民邮电出版社;4.《Python网络爬虫基础教程》黄锐军等编著,2022.06,人民邮电出版社;5.《Scrapy网络爬虫开发实战》罗刚编著,2024.06,清华大学出版社;6.《网络爬虫技术与应用(微课版)》,郑淑晖、张正球编著,2023.08,清华大学出版社。7.Python网络爬虫与信息提取:/course/BIT-1001870001

8.Python网络爬虫程序技术:/course/ZIIT-10029250089.Python数据分析与展示:/course/BIT-100187000210.数据可视化:/course/CUC-1206407806

XXX学校教案授课题目(章节或主题)第1章爬虫与网络数据采集概述第2章网络爬虫基础知识授课时间2025年9月3日第1周星期三第6-7节第2次课授课时数2学时教学课型公共必修□基础必修□专业必修R专业组选□专业任选£专项实践□其他£本次课教学目标(本次课需要达成的思想道德、知识、能力、素质目标):思想道德目标:遵守数据采集开发中的法律和道德问题,培养良好的职业道德修养。知识与能力目标:1.了解网络数据采集的合法性;2.掌握Python网络爬虫环境的安装与配置,能够安装与配置网络爬虫集成开发环境;3.掌握常用网络爬虫可视化工具的安装,能够使用网络爬虫可视化工具完成数据采集;4.会应用网络爬虫可视化工具采集信息;5.深入理解浏览器加载网页的详细过程及其内在机制;6.全面了解网页的基本构成要素、相关技术与架构等基础知识。素质目标:培养学生在理解爬虫的工作原理、流程、开发技术与实现流程,建立从事爬虫工程师的基本职责。达成本次课教学目标的课程教学主要内容(课程教学内容与课程教学目标相匹配,支持课程教学目标达成):主要内容:1.网络数据采集的合法性;2.Python网络爬虫环境的安装与配置;3.常用网络爬虫可视化工具的安装;4.综合案例—采集豆瓣读书“小说”类图书信息;5.浏览器加载网页的详细过程;6.网页的基本构成要素、相关技术等基础知识。重点与难点:1.Python网络爬虫环境的安装与配置。2.综合案例—采集豆瓣读书“小说”类图书信息。教学方法(有效支持教学目标达成。请打√选择,可多选):项目教学法£讨论法□PBL(以问题为中心的教学法)R练习法(习题或操作)£案例教学法R讲授法R其他□教学媒体(有助于教学目标达成。请打√选择,可多选):教材R多媒体R幻灯R录像R云平台空间R板书□其他£教学过程设计(包括教学内容、教学方法、板书设计、情境设计、提问、课堂讨论等师生互动的设计等。为学生建立深层次学习环境,支持教学目标达成):1.介绍网络数据采集的合法性。(15分钟)(1)Robtos协议Robots.txt:是一种存置于网站根目录下的文本文件,其主要用途在于向网络爬虫指明哪些页面能够被访问,哪些页面不应被访问。Robots.txt文件的常见用途与格式有如下几个方面:1)指定爬虫访问权限:通过指定User-Agent和Disallow字段,对不同爬虫对网站的访问权限予以规定。2)允许访问的路径:允许搜索引擎访问的路径与页面可以通过Allow字段予以指定。3)特殊指令:除了Disallow和Allow指令之外,还存在其他一些特殊指令。例如,Sitemap指令可用于指定网站地图的位置。(2)防爬虫的措施Robots.txt文件、IP封锁和限制访问频率、验证码和人机验证、动态页面加载和渲染、Cookie验证和会话跟踪和User-Agent检测和反爬虫算法。(3)数据采集合法性案例数据采集的合法性是网络爬虫技术应用与数据科学实践中的基石。它不仅关乎个人隐私权益与企业商业利益的保护,更是企业建立公信力、实现长期可持续发展的核心保障。忽视数据采集的法律边界,可能给企业带来严峻的法律制裁、经济损失乃至声誉危机,对其发展轨迹产生深远负面影响。一个突出的反面案例发生在2022年。科技巨头Google公司与美国40个州的检察长联盟达成了一项总额高达3.915亿美元的和解协议。讲解和操作演示Python网络爬虫环境的安装与配置。(15分钟)(1)Python版本简介与安装Python发展历程概述1)3.5引入async/await,革新异步编程。2)3.6带来f-strings,简化字符串格式化。3)3.7保证字典插入顺序,并优化性能。4)3.8加入赋值表达式(海象运算符:=)。5)3.9新增字典合并操作符,改进类型提示。6)3.10引入结构化模式匹配(match/case)。7)3.11对CPython解释器进行重大性能优化,引入异常组。8)3.12继续性能改进,增强f-string功能,提升子解释器隔离性。9)3.13则在探索移除全局解释器锁(GIL)以支持更精细的并行能力、引入可选的JIT编译器、进一步优化性能等方面持续推进。Python3.13的安装:从官网下载Python3.13,按安装向导完成Python的安装。(2)PyCharm的安装与配置1)常见的PythonIDE概述:PyCharm、VisualStudioCode、Spyder、JupyterNotebook和IDLE。2)安装PyCharm:打开PyCharm官方网站,单击Download按钮。选择Windows系统的“PyCharmCommuntityEdition”,再次单击Download按钮下载安装包。下载完成后,双击安装包,如pycharm-community-2024.3.5.exe,打开PyCharm安装界面。设置PyCharm的安装路径,然后单击“下一步”按钮。勾选在新界面中所有安装选项。单击“安装”按钮,开始默认安装PyCharm。安装完成后单击“完成”按钮结束安装流程。3)配置PyCharm双击打开PyCharm,选择“NewProject”选项创建新项目。打开“NewProject”窗口,设置项目存储路径,如C:\BigData\crawlProject,新项目名称设定为“crawlProject”,IDE会默认关联Python解释器,再单击“Create”按钮创建新项目。进入PyCharm界面后,可以设置主题。选择File→Settings...选项。进入“Settings”界面后,选择Appearance&Behavior->Appearance选项,在该界面中从“Theme”下拉列表中选择界面的主题,以及在“Editorcolorscheme:”下拉列表中选择编辑器颜色风格。在“Setting”界面中,依次选择Project:CrawlProject->PythonInterpreter选项,在“PythonInterpreter”选项中设置项目的Python解释器为“Python3.13”。4)使用PyCharm配置完PyCharm后,通过创建一个test.py文件来演示PyCharmr使用,操作步骤如下。在打开的新建项目“CrawlProject”界面中,右击“CrawlProject”项目名,在弹出的快捷菜单中选择New->PythonFile选项,如下图1所示。图1选择PythonFile选项2)在弹出的“NewPythonfile”对话框中输入文件名“test”,即可新建test.py文件,如右图所示。3)按“Enter”键打开test.py文件,进入PyCharm界面,在代码编辑区输入测试代码“print("Haveagoodday!")”,然后单击工具栏中的“运行”按钮,输出的运行结果为“Haveagoodday!”4)PyCharm界面由菜单栏、工具栏、项目结构区、代码编辑区和信息显示区构成。(3)Python爬虫相关库的简介与安装1)常用爬虫库的简介如表1所示。2)常用爬虫库的安装下面介绍Requests、Selenium、lxml、BeautifulSoup、PyQuery、Scrapy和PySpider库的安装的不同安装方法。①使用pip工具安装爬虫库。无镜像安装:执行“pipinstall库名”命令。在Windows任务栏的搜索框中输入cmd,打开命令提示符,于命令提示窗口输入“pipinstallrequests”,按Enter键,便可安装requests库。若安装成功,将会提示“successfully”,如图1所示。表1常用爬虫相关的简介图2无镜像安装镜像安装:执行“pipinstall-i镜像源地址库名”命令。例如,使用清华大学镜像源“/simple”安装lxml库,在命令提示窗口输入“pipinstall-i/simplelxml”,按Enter键,即可成功安装lxml库,如图3所示。图3有镜像安装②在PyCharm中安装爬虫库。安装单个库在PyCharm界面中,选择“File”->“Settings”命令,在打开的“Settings”对话框中选择“PythonInterpreter”命令,接着单击右侧窗口的“+”,如图4所示。图4单击Settings窗口中的“+”在打开的“AvailablePackages”窗口的搜索框中输入“bs4”,然后单击窗口左下方的“InstallPackage”按钮。安装成功后,会在窗口的下方显示“Package‘bs4’installsuccessfully”信息,如图5所示。图5输入库名并进行安装批量安装库在工程文件的根目录“CrawlProject”新建一个txt文件,如library.txt(文件名可自定义),在library.txt文件中输入需要安装的爬虫库名称:Selenium、PyQuery、Scrapy。打开PyCharm底部工具栏的terminal(终端)窗口,在终端窗口中输入“pipinstall-rlibrary”命令,如下图所示。按回车键执行命令即可成功安装Selenium、PyQuery、Scrapy这三个库。讲解和操作演示常用网络爬虫可视化工具的安装。(10分钟)爪鱼采集器(Octoparse)作为一款用于抓取网页数据的网络爬虫工具,能够便捷且迅速地将网页数据转换为结构化数据,并存储于EXCEL或数据库等多种形式之中。同时,它还提供基于云计算的大数据云采集解决方案,可达成精准、高效且大规模的数据采集任务,广泛应用于数据挖掘、竞争情报、市场研究、数据分析等诸多领域。其安装步骤如下:①打开八爪鱼采集器的官方网站,选择“产品”选项,选定“SaaS版”,在新打开的页面中单击“免费下载按钮。②双击下载的软件安装包,如“OctopusSetup8.7.2.exe”,开启“Octopus安装”窗口,在“目标文件夹”处设置安装路径,然后单击“安装”按钮。③等待软件安装完成后,单击“完成”按钮。④双击“打开八爪鱼采集器”快捷方式,打开八爪鱼采集器界面。4.讲授并演示综合案例—采集豆瓣读书“小说”类图书信息。(10分钟)(1)数据采集需求本案例旨在采集豆瓣读书栏目中“小说”类别的图书信息,打开目标网站地址/tag/%E5%B0%8F%E8%AF%B4,需要采集的图书字段包括作者、出版社、出版时间、价格、评分、评价人数以及简介,相关信息展示如下图所示,要求采集涵盖所有“小说”类图书信息,如下图所示。(2)数据采集实现1)启动八爪鱼采集器,点击左侧菜单栏的“新建”命令,选取“自定义任务”。在弹出的“任务:新建任务”窗口中,在任务组文本框内输入:采集豆瓣读书“小说”图书信息,并在“网址”列表输入采集的目标网址,如下图所示,随后单击“保存设置”按钮。2)八爪鱼采集器将自动识别网页数据并配置采集规则。在生成预设的采集规则后,用户需检查页面底部“数据预览”中的数据字段是否与采集需求相符。确认采集字段无误后,单击“生成采集设置”按钮。3)用户可在客户端右侧查看到采集规则,底部绿色的预选字段将变为白色,单击右侧的“点击翻页”按键,可以查看并预览下一页面的图书采集信息。接着,单击“保存并开始采集”按钮,启动采集页面。4)在新弹出的对话框中选择采集方式,即本地采集或者云采集,此处选择“本地采集”中的“普通模式”。5)单击“普通模式”按钮,用户可以观察到数据采集正在进行。6)当数据采集完成后,从下图的对话框中能够得知共采集到280条记录。单击中的“导出数据”按钮,打开“导出本地数据(豆瓣图书标签:小说)”对话框,在该对话框内选择导出文件类型,例如选择导出文件类型为“CSV文件”。将采集到的280条“小说”类图书信息存储至“豆瓣读书“小说”类图书信息.csv”文件。5.介绍浏览器加载网页的详细过程。(5分钟)(1)网页基础知识中的关键概念:HTML(HypertextMarkupLanguage)、CSS(CascadingStyleSheets)、JavaScript、DOM(DocumentObjectModel)、HTTP(HypertextTransferProtocol)、HTTPS(HypertextTransferProtocolSecure)、URL(UniformResourceLocator)、DNS(DomainNameSystem)、TCP(TransmissionControlProtocol)。(2)浏览器加载网页的过程如下:输入网址、DNS解析、建立TCP连接、发送HTTP请求、5服务器处理请求并返回响应、浏览器解析HTML、渲染页面、处理用户交互和持续加载和更新内容。6.介绍网页的基本构成要素、相关技术等基础知识。(15分钟)(1)网络开发技术:前端开发技术、后端开发技术。 (2)网页的结构:网页的结构、根元素、头部元素、主体元素、段落元素、标题元素、列表元素、链接元素、图像元素、表格元素、表单元素和注释。(3)网页的分类:静态网页、动态网页、响应式网页、单面应用。(4)网页数据的格式:HTML、CSS、JavaScript、JSON、XML、CSV、RDF、Markdown。7.课堂实践:完成实训案例2新浪微博搜索关键词信息采集。(10分钟)实训内容如下:(1)在用户计算机上完成网络数据采集可视化工具(如八爪鱼采集器)的下载与安装。(2)运用八爪鱼采集器在新浪微博网站(/weibo?q=%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB)中采集搜索关键词为“网络爬虫”的发帖信息,需抓取的字段包括发帖的用户名、头像链接、标题、发表时间、发表内容、分享数、评论数以及点赞数。实训思路与步骤(1)参照1.6.4小节,完成八爪鱼采集器的下载与安装。(2)深入分析新浪微博搜索关键词“网络爬虫”的采集需求与采集思路。(3)依据1.7节内容,运用八爪鱼采集器实现新浪微博搜索关键词“网络爬虫”的发帖信息采集操作。多媒体课件+超星学习通+课堂案例+课堂实践复习思考及作业布置(目的是帮助学生达成教学目标):课后在学习通平台上复习第1章、第2章前2节,在线听微课视频与数字人视频;下节课预习内容:在课程学习通平台上预习第2章后3节内容。本部分教学内容的参考资料(包括辅助教材、参考书、文献、网络教学资源等):1.课程超星平台:/mooc-ans/mycourse/teachercourse?moocId=207215442&clazzid=804877592.《Python爬虫与网络数据采集案例实战》叶丽珠、张兰编著,2025.07,清华大学出版社;3.《Python网络爬虫:从入门到精通》吕云翔编著,2023.06,人民邮电出版社;4.《Python网络爬虫基础教程》黄锐军等编著,2022.06,人民邮电出版社;5.《Scrapy网络爬虫开发实战》罗刚编著,2024.06,清华大学出版社;6.《网络爬虫技术与应用(微课版)》,郑淑晖、张正球编著,2023.08,清华大学出版社。7.Python网络爬虫与信息提取:/course/BIT-1001870001

8.Python网络爬虫程序技术:/course/ZIIT-10029250089.Python数据分析与展示:/course/BIT-100187000210.数据可视化:/course/CUC-1206407806

XXX学校教案授课题目(章节或主题)第2章网络爬虫基础知识授课时间2025年9月3日第1周星期三第6-7节第3次课授课时数2学时教学课型公共必修□基础必修□专业必修R专业组选□专业任选£专项实践□其他£本次课教学目标(本次课需要达成的思想道德、知识、能力、素质目标):思想道德目标:树立网络爬虫合法合规意识,明确解析网页数据需遵守网站规则,不获取敏感信息,恪守数据伦理。知识与能力目标:理解浏览器加载网页的9个核心步骤(输入网址→DNS解析→TCP连接等);掌握网页核心技术(HTML/CSS/JavaScript)的功能与区别;能识别网页基本结构(DOCTYPE、html、head、body等标签);区分静态/动态/响应式/SPA四类网页的特点;识别HTML、CSS、JSON等常见网页数据格式;能用浏览器查看网页源代码,初步分析DOM树结构。素质目标:培养严谨分析网页结构的思维习惯,提升从技术原理推导实际应用的能力,增强对网页数据格式的敏感度,为后续爬虫开发奠定细节把控能力。达成本次课教学目标的课程教学主要内容(课程教学内容与课程教学目标相匹配,支持课程教学目标达成):主要内容:浏览器加载网页的9个步骤(输入网址→DNS解析→TCP连接→HTTP请求→服务器响应→解析HTML→渲染页面等);网页核心技术:HTML(结构)、CSS(样式)、JavaScript(交互)的作用;网页基本结构:DOCTYPE声明、html根元素、head元数据、body可见内容;网页分类:静态、动态、响应式、单页应用(SPA)的定义与特点;网页数据格式:HTML、CSS、JavaScript、JSON、XML的应用场景;DOM树的概念与构建过程(HTML解析为树形结构)。重点与难点:1.浏览器加载网页的核心流程(DNS解析→TCP连接→HTTP请求)。2.HTML网页的基本结构(head/body标签及常用子标签)。3.动态网页与单页应用(SPA)的技术差异及对爬虫的影响。4.DOM树构建与JavaScript操作DOM的逻辑。教学方法(有效支持教学目标达成。请打√选择,可多选):项目教学法£讨论法□PBL(以问题为中心的教学法)R练习法(习题或操作)£案例教学法R讲授法R其他□教学媒体(有助于教学目标达成。请打√选择,可多选):教材R多媒体R幻灯R录像R云平台空间R板书□其他£教学过程设计(包括教学内容、教学方法、板书设计、情境设计、提问、课堂讨论等师生互动的设计等。为学生建立深层次学习环境,支持教学目标达成):1.浏览器加载网页的过程(30分钟)(1)理论讲授:分步拆解核心流程结合教材图2-2(浏览器加载网页流程图),逐步骤讲解9个环节:1)输入网址:URL的组成(协议、域名、路径),举例“/s?wd=爬虫”;2)DNS解析:“域名→IP”的过程(本地缓存→操作系统缓存→DNS服务器),演示“ping”查看IP;3)建立TCP连接:三次握手(SYN→SYN-ACK→ACK),用动画演示“客户端与服务器如何确认连接”;4)发送HTTP请求:GET请求的作用(获取资源),简单提及请求行、请求头;5)服务器响应:状态码200表示成功,响应体包含HTML内容;6)解析HTML:构建DOM树(标签→节点),CSS加载后生成渲染树;7)渲染页面:布局(计算元素位置)→绘制(显示内容);8)处理交互:如点击按钮触发JavaScript;9)持续更新:AJAX异步加载内容(暂留伏笔,后续讲动态网页)。2.演示操作:用Chrome开发者工具验证流程。(10分钟)打开Chrome,进入“百度首页”,按F12打开开发者工具:切换到“网络”面板,勾选“保留日志”,刷新页面;找到“”的请求,查看“通用”栏的“远程地址”(DNS解析结果)、“请求方法”(GET)、“状态码”(200);切换到“性能”面板,录制页面加载,展示“DNS解析→TCP连接→HTML解析”的时间线。3.网页基础知识。(35分钟)1)网页核心技术:HTML/CSS/JavaScript(10分钟)案例演示:展示一个简单HTML文件(例2-13),用Notepad++打开,分别演示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>MyWebPage</title></head><body><h1>WelcometoMyWebPage</h1><p>Thisisaparagraphoftest</p><ul><li>Item1</li><li>Item2</li></ul><imgsrc="example.jpg"alt="ExampleImage"><ahref="">VisitE</a></body></html>①仅保留HTML标签(无CSS/JS):页面显示纯文本,无样式;②添加CSS(例2-14,设置body背景色、h1颜色):刷新后样式变化;/*设置页面背景颜色*/body{background-color:#f0f0f0;font-family:Arial,sans-serif;}/*设置标题的样式*/h1{color:#2c3e50;font-size:36px;text-align:center;margin-bottom:20px;}h2{color:#34495e;font-size:30px;margin-top:20px;}/*设置段落文本样式*/p{color:#7f8c8d;line-height:1.6;margin:10px0;}/*设置按钮样式*/button{background-color:#3498db;color:white;border:none;padding:10px20px;border-radius:5px;cursor:pointer;}button:hover{background-color:#2980b9;}③添加JavaScript(例2-15,按钮点击弹窗):点击按钮触发交互。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>JavaScript示例</title></head><body><h1>欢迎使用JavaScript示例</h1><buttonid="myButton">点击我</button><script>//获取按钮元素constbutton=document.getElementById('myButton');//为按钮添加点击事件button.addEventListener('click',function(){alert('按钮已被点击!');});</script></body></html>提问互动:“如果爬虫要提取按钮文字,该找HTML中的哪个标签?”(引导学生答“button标签”)。2)网页基本结构:标签解析(10分钟)结合例2-13代码,逐标签讲解:①<!DOCTYPEhtml>:声明HTML5版本;②<htmllang="en">:根元素,lang指定语言;③<head>:元数据(字符集、视口、标题),演示<title>修改对浏览器标签的影响;④<body>:可见内容(h1、p、ul、img、a等),用开发者工具“元素”面板定位标签,修改文字实时查看页面变化。动手实践:让学生在本地新建“test.html”,写入基本结构,添加1个h1标题和2个p段落,保存后用浏览器打开验证。3.网页分类:静态vs动态vsSPA(8分钟)举例对比:①静态网页:个人博客(如“https://xxx.github.io”),右键“查看页面源代码”可见完整内容;②动态网页:电商商品页(如京东商品详情),源代码无实时库存,需JS加载;③SPA:知乎首页(滚动时不刷新页面,异步加载内容);提问:“爬虫爬取动态网页时,直接获取源代码能拿到库存数据吗?为什么?”(引导答“不能,数据在JS动态加载后才生成”)。4.网页数据格式:常见类型识别(7分钟)展示不同格式案例:①HTML:<p>爬虫基础</p>(标签包裹);②JSON:{"name":"张三","age":20}(键值对,无标签);③CSS:body{background:#f0f0f0}(样式规则);互动任务:给学生一段文本,让其判断是HTML还是JSON(如{"title":"大学排名","rank":1}→JSON)。4.实训思路与步骤。(10分钟)1)实训目标让学生用Chrome开发者工具分析“CSDN首页”(静态部分)的结构,提取3个核心信息:页面标题、1个导航栏文本、1个段落内容。2)实训步骤①打开Chrome,进入“/”,按F12打开开发者工具;②切换到“元素”面板,按Ctrl+F搜索<title>标签,提取标题(如“CSDN-专业开发者社区”);③定位导航栏(如“首页”“博客”“下载”),右键该元素→“复制”→“复制文本”,记录1个导航文本;=4\*GB3④找到页面中的任意<p>标签,提取其文本内容;=5\*GB3⑤将提取的3条信息填入实训表,教师巡视指导,解决“找不到标签”“复制错误”等问题。5.课程总结。(5分钟)1)回顾本次课核心:浏览器加载流程(DNS→TCP→HTTP)、网页三要素(HTML/CSS/JS)、静态vs动态网页;2)提问回顾:“DOM树是什么?由哪个步骤生成?”(答:HTML解析后生成,是网页元素的树形结构);3)预告下次课:“下次我们学习爬虫与服务器通信的核心——HTTP协议,以及如何用开发者工具抓包分析请求。”多媒体课件+超星学习通+课堂案例+课堂实践复习思考及作业布置(目的是帮助学生达成教学目标):课后在学习通平台复习第2章2.1、2.2节,观看“浏览器加载流程”微课视频;动手作业:找到1个静态网页(如个人博客),用开发者工具提取其<h1>标题和3个<p>段落,将结果保存为TXT文件;下节课预习内容:在学习通平台预习第2章2.3HTTP基础知识、2.4Google开发者工具。本部分教学内容的参考资料(包括辅助教材、参考书、文献、网络教学资源等):1.课程超星平台:/mooc-ans/mycourse/teachercourse?moocId=207215442&clazzid=804877592.《Python爬虫与网络数据采集案例实战》叶丽珠、张兰编著,2025.07,清华大学出版社;3.《Python网络爬虫:从入门到精通》吕云翔编著,2023.06,人民邮电出版社;4.《Python网络爬虫基础教程》黄锐军等编著,2022.06,人民邮电出版社;5.《Scrapy网络爬虫开发实战》罗刚编著,2024.06,清华大学出版社;6.《网络爬虫技术与应用(微课版)》,郑淑晖、张正球编著,2023.08,清华大学出版社。7.Python网络爬虫与信息提取:/course/BIT-1001870001

8.Python网络爬虫程序技术:/course/ZIIT-10029250089.Python数据分析与展示:/course/BIT-100187000210.数据可视化:/course/CUC-1206407806

XXX学校教案授课题目(章节或主题)第2章网络爬虫基础知识授课时间2025年9月3日第1周星期三第6-7节第4次课授课时数2学时教学课型公共必修□基础必修□专业必修R专业组选□专业任选£专项实践□其他£本次课教学目标(本次课需要达成的思想道德、知识、能力、素质目标):思想道德目标:树立“工具服务合规”意识,明确Google开发者工具用于学习与合法数据采集,不利用技术突破网站反爬机制获取未授权数据。知识与能力目标:掌握URL结构、HTTP/HTTPS区别及HTTP请求/响应格式;理解常见HTTP状态码(200/404/500)和Cookie的作用;会使用Google开发者工具“元素”“网络”“应用”面板分析网页;能独立完成“采集2024中国大学排名”综合案例;能识别爬虫与服务器通信中的常见问题(如404错误);初步具备用requests+BeautifulSoup解析HTML数据的能力。素质目标:培养“理论→工具→实践”的闭环思维,提升用开发者工具定位问题的能力,增强代码实践中的细节把控(如请求头设置),养成规范编码习惯。达成本次课教学目标的课程教学主要内容(课程教学内容与课程教学目标相匹配,支持课程教学目标达成):主要内容:HTTP基础知识:URL结构、HTTP/HTTPS差异、请求/响应格式、状态码(2xx/3xx/4xx/5xx)、Cookie;Google开发者工具:元素(定位标签)、网络(抓包分析)、控制台(调试JS)、应用(查看Cookie)面板;综合案例:采集2024中国大学排名(requests获取HTML、BeautifulSoup解析、数据提取与打印);案例调试:解决请求失败、数据提取为空等常见问题。重点与难点:1.HTTP请求/响应格式。2.Google开发者工具“网络”面板使用。3.综合案例代码实现。教学方法(有效支持教学目标达成。请打√选择,可多选):项目教学法£讨论法□PBL(以问题为中心的教学法)R练习法(习题或操作)£案例教学法R讲授法R其他□教学媒体(有助于教学目标达成。请打√选择,可多选):教材R多媒体R幻灯R录像R云平台空间R板书□其他£教学过程设计(包括教学内容、教学方法、板书设计、情境设计、提问、课堂讨论等师生互动的设计等。为学生建立深层次学习环境,支持教学目标达成):(一)课程导入:复习回顾+案例引入(5分钟,教学方法:提问+案例展示)1.复习提问提问:“上次课学习的动态网页,为什么直接用‘查看源代码’看不到商品库存?”(学生答:“数据由JS异步加载,需HTTP请求获取”);过渡:“要获取异步数据,需先理解爬虫与服务器通信的‘语言’——HTTP协议,今天从这部分开始。”2.案例展示展示“2024中国大学排名”网页:(/rankings/bcur/2024)提问:“如何用代码提取‘清华大学’的排名和总分?”(引出本次课综合案例)。3.板书设计(黑板/PPT左侧)第2章第二次课核心框架HTTP基础知识Google开发者工具综合案例:大学排名采集→重点:HTTP格式+工具使用;难点:案例调试(二)模块1:HTTP基础知识(25分钟,教学方法:讲授+抓包演示+互动练习)1.URL结构与HTTP/HTTPS(8分钟)结合例2-21,拆解URL组成:协议:https(加密)vshttp(明文);主机:(域名);端口:8080(http默认80,https默认443);路径:/path/to/resource;查询参数:?param1=value1;片段:#section1(页面内锚点);互动练习:让学生分析“/rankings/bcur/2024?year=2024”的查询参数(year=2024)。2.HTTP请求与响应格式(10分钟)(1)用Chrome开发者工具“网络”面板演示:1)打开“百度首页”,找到“”的GET请求,切换到“标头”:请求格式:请求行(GET/HTTP/1.1)→请求头(Host、User-Agent、Accept)→空行→请求体(GET无);2)重点讲解User-Agent(伪装浏览器,反爬常用);查看“响应标头”和“响应体”:响应格式:状态行(HTTP/1.1200OK)→响应头(Server、Date、Content-Type)→空行→响应体(HTML代码);案例分析:展示“404NotFound”响应(访问不存在的URL),让学生识别状态码含义。3.状态码与Cookie(7分钟)(1)状态码分类讲解(结合教材表):2xx成功:200(正常)、204(无内容);3xx重定向:301(永久移动)、304(缓存未修改);4xx客户端错:400(请求无效)、404(资源不存在)、403(禁止访问);5xx服务器错:500(内部错误)、503(服务不可用);(2)Cookie演示:在开发者工具“应用”面板→“Cookie”,查看百度首页的Cookie(如BAIDUID),讲解其作用(维持登录状态、跟踪会话)。4.板书设计(PPT中间)2.3HTTP基础知识URL结构:协议+主机+端口+路径+参数HTTPvsHTTPS:TLS加密(HTTPS)请求格式:请求行→请求头(User-Agent)→空行→请求体响应格式:状态行(200/404/500)→响应头→空行→响应体Cookie:维持会话(应用面板查看)(三)模块2:Google开发者工具(25分钟,教学方法:演示+分组操作)1.核心面板功能演示(15分钟)打开“2024中国大学排名”网页,按F12打开开发者工具,逐一演示面板:(1)元素面板:右键“清华大学”→“检查”,定位到<tr>标签,查看排名(<td>[1]</td>)、校名(<spanclass="name-cn">清华大学</span>)、总分(<td>992.6</td>);演示修改校名文本(将“清华大学”改为“北京大学”),实时查看页面变化;网络面板:刷新页面,找到排名请求(类型为“document”),查看“请求URL”“状态码200”“响应体”(包含排名HTML);勾选“XHR”,查看是否有异步请求(本案例无,为静态HTML);(3)应用面板:切换到“Cookie”→“”,查看网站Cookie;(4)控制台面板:输入document.title,获取页面标题(“2024软科中国大学排名|中国最好大学排名”),演示JS获取DOM元素。2.分组操作:工具实战(10分钟)(1)分组任务:每组3-4人,分析“豆瓣读书首页”(/),完成3个任务:用“元素”面板提取1本推荐书籍的标题;用“网络”面板找到书籍列表的请求URL;用“应用”面板查看豆瓣的Cookie名称;(2)每组选1名代表分享结果,教师点评:“元素面板定位标签是爬虫提取数据的基础,网络面板能帮我们找到数据来源。”3.板书设计(PPT右侧)2.4开发者工具核心面板元素:定位标签→右键“检查”网络:抓包→查看请求/响应→筛选XHR应用:查看Cookie→expires(过期时间)控制台:执行JS→document.title(四)模块3:综合案例——采集2024中国大学排名(20分钟,教学方法:代码演示+学生实践)1.案例分析与环境准备(5分钟)案例需求:用requests获取排名页面HTML,BeautifulSoup解析,提取前20名大学的“排名、校名、总分”,打印到控制台;环境准备:提醒学生安装库(pipinstallrequestsbeautifulsoup4),打开PyCharm新建“rank_spider.py”文件。2.代码分步演示(10分钟)逐行讲解代码(结合教材图2-14):(1)导入库:importrequestsfrombs4importBeautifulSoupimportre(2)获取HTML函数(处理请求异常):defgetHTMLText(url):try:r=requests.get(url,timeout=30)r.raise_for_status()#若状态码非200,抛异常r.encoding=r.apparent_encoding#自动识别编码returnr.textexcept:return""(3)数据提取函数(BeautifulSoup定位标签):deffillUnivList(ulist,html):soup=BeautifulSoup(html,"html.parser")fortrinsoup.find("tbody").children:#遍历tbody下的tr标签ifisinstance(tr,bs4.element.Tag):#排除非Tag元素tds=tr("td")#获取所有td标签rank=tds[0].string#排名(第1个td)name=tds[1].find("span",class_="name-cn").get_text()#校名(span标签)score=tds[4].string#总分(第5个td)ulist.append([rank.strip(),name.strip(),score.strip()])(4)打印函数(格式化输出):defprintUnivList(ulist,num):print("{:^10}\t{:^20}\t{:^10}".format("排名","学校名称","总分"))foriinrange(num):u=ulist[i]print("{:^10}\t{:^20}\t{:^10}".format(u[0],u[1],u[2]))(5)主函数(调用流程):if__name__=="__main__":uinfo=[]url="/rankings/bcur/2024"html=getHTMLText(url)fillUnivList(uinfo,html)printUnivList(uinfo,20)#打印前20名3.学生实践与问题调试(5分钟)(1)学生运行代码,教师巡视解决常见问题:编码错误:提醒r.encoding=r.apparent_encoding的作用;标签定位错误:检查soup.find("tbody")是否存在,若页面结构变化,需重新用元素面板定位;403禁止访问:添加请求头(headers={"User-Agent":"Mozilla/5.0..."}),演示修改代码:r=requests.get(url,headers=headers,timeout=30)(五)实训思路与步骤(10分钟,教学方法:独立实践+教师指导)1.实训目标修改综合案例代码,提取前10名大学的“排名、校名、省市”(省市在第2个td的<spanclass="region">标签中),并将结果保存为“university_rank.csv”。2.实训步骤分析页面:在元素面板找到“省市”对应的标签(<spanclass="region">北京</span>),确定定位方式(tds[1].find("span",class_="region").get_text());修改代码:在fillUnivList函数中添加“province”变量,append列表增加省份;保存CSV:导入csv库,添加保存函数:importcsvdefsaveToCSV(ulist,filename):withopen(filename,"w",encoding="utf-8",newline="")asf:writer=csv.writer(f)writer.writerow(["排名","学校名称","省市","总分"])writer.writerows(ulist)(4)调用函数:在主函数末尾添加saveToCSV(uinfo,"university_rank.csv"),运行后查看CSV文件。(六)课程总结(5分钟,教学方法:归纳+展望)回顾本次课核心:HTTP协议是爬虫与服务器通信的基础,开发者工具是分析网页的关键,综合案例实现了“请求→解析→提取→保存”的爬虫流程;知识串联“浏览器加载流程→网页结构→HTTP通信→工具分析→代码实现”形成爬虫基础闭环;展望:下次课学习“动态网页爬虫”,解决本次课留下的“JS异步加载数据”问题。复习思考及作业布置(目的是帮助学生达成教学目标):课后在学习通平台复习第2章全节内容,观看“HTTP请求调试”“BeautifulSoup解析”微课视频;动手作业:作业:修改综合案例代码,提取前30名大学的“排名、校名、省市、总分、办学层次”;下节课预习内容:在学习通平台预习第3章“静态网页爬虫实战”,了解requests库的高级用法(代理、Cookie池)。本部分教学内容的参考资料(包括辅助教材、参考书、文献、网络教学资源等):1.课程超星平台:/mooc-ans/mycourse/teachercourse?moocId=207215442&clazzid=804877592.《Python爬虫与网络数据采集案例实战》叶丽珠、张兰编著,2025.07,清华大学出版社;3.《Python网络爬虫:从入门到精通》吕云翔编著,2023.06,人民邮电出版社;4.《Python网络爬虫基础教程》黄锐军等编著,2022.06,人民邮电出版社;5.《Scrapy网络爬虫开发实战》罗刚编著,2024.06,清华大学出版社;6.《网络爬虫技术与应用(微课版)》,郑淑晖、张正球编著,2023.08,清华大学出版社。7.Python网络爬虫与信息提取:/course/BIT-1001870001

8.Python网络爬虫程序技术:/course/ZIIT-10029250089.Python数据分析与展示:/course/BIT-100187000210.数据可视化:/course/CUC-1206407806

XXX学校教案授课题目(章节或主题)第3章爬虫流程与Requests库的使用授课时间2025年9月25日第4周星期三第3—4节第4次课授课时数2学时教学课型公共必修□基础必修□专业必修R专业组选□专业任选£专项实践□其他£本次课教学目标(本次课需要达成的思想道德、知识、能力、素质目标):思想道德目标:引导学生在应用爬虫技术要按照一定标准制作程序流程脚本,如果爬虫脚本不科学,则会带来违反法规的风险。知识与能力目标:1.回顾上次课的知识要点;2.掌握Python实现网络数据采集的流程;3.掌握Requests库的使用,能够应用Requests库采集静态网页数据;4.综合案例--采集排行榜电影信息;5.拓展案例--采集翻译信息。素质目标:培养学生能够根据数据采集的基本流程,具有应对不同的数据采集需求展开问题分析、解决和实现。达成本次课教学目标的课程教学主要内容(课程教学内容与课程教学目标相匹配,支持课程教学目标达成):主要内容:1.回顾上次课的要点;2.理解爬虫的基本流程:发起请求、获取响应内容、数据解析和提出数据、数据存储;3.学会网页请求库Requests库的使用;4.讲解和操作演示综合案例和拓展案例,让学生学会爬虫流程和Requests库的使用。重点与难点:Requests库的使用。拓展案例--采集翻译信息。教学方法(有效支持教学目标达成。请打√选择,可多选):项目教学法£讨论法□PBL(以问题为中心的教学法)R练习法(习题或操作)£案例教学法R讲授法R其他□教学媒体(有助于教学目标达成。请打√选择,可多选):教材R多媒体R幻灯R录像R云平台空间R板书□其他£教学过程设计(包括教学内容、教学方法、板书设计、情境设计、提问、课堂讨论等师生互动的设计等。为学生建立深层次学习环境,支持教学目标达成):1.回顾上次课的知识要点。(5分钟)2.介绍Python实现网络数据采集的流程。(5分钟)Python爬虫基本流程:发起请求、获取响应内容、解析网页内容和数据处理与存储。3.掌握Requests库的使用,能够应用Requests库采集静态网页数据。(20分钟)Python标准库内包含一个用于网络数据采集的模块urllib,该模块具备一系列处理URL的子模块与函数,能够执行发送HTTP请求、处理URL编码、解析URL等操作,可满足较为简单的网络操作需求。Requests库以Python语言基于urllib编写而成,遵循Apache2Licensed开源协议,属于HTTP库范畴。由于Requests库是第三方库而非Python内置库,所以在使用前需要安装。发起请求Requests发起请求的类型Requests可以发起GET和POST两种请求类型,其语法格式如下所示:requests.method(url,**kwargs)各参数的含义如表3-1所示。表3-1Requests发起请求各参数含义【例3-1】下面是一个使用requests.get()方法向目标网站XXX学校官网(/)发起GET请求的源代码。1.

importrequests

#导入请求库2.

url="/"

#指定目标网站地址3.

response=requests.get(url)

#发起GET请求4.

print(response.text)

#输出响应内容【例3-2】下面是一个使用requests.post()方法向目标网站百度翻译官网(/)发起POST请求的源代码。1. importrequests#导入请求库2. url="/"#指定目标网站地址3. res=requests.post(url)#发起POST请求4. print(res.text)#输出响应内容设置请求头与响应时间在数据采集中,目标网站通过检查HTTP请求头来识别并限制自动化程序的访问,这是一种常见的反爬虫策略。因此,在使用Requests库发起HTTP请求时,通常要显式配置headers参数。通过设置User-Agent和Referer等关键头部字段,可以使请求更接近于真实用户的浏览器行为。为防止程序因等待服务器响应时间过长而陷入阻塞状态,为网络请求设定超时限制至关重要。Requests库提供了timeout参数来实现此功能。1. importrequests#导入请求库2. url="/"#指定目标网站地址3. headers={4. 'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/Safari/537.36',5. 'Accept-Language':'en-US,en;q=0.9',6. 'Connection':'keep-alive'7. }#设置请求头信息8. 9. response=requests.get(url,headers=headers,timeout=10)#携带请求头和响应时间10. print(response.text)(3)查看状态码与编码使用status_code属性可以查看响应状态,如果返回的是200,则表示目标服务器成功响应请求。如果是3XX重定向,则表示需要客户端执行额外的操作来完成请求。使用encoding属性可以查看响应内容的网页编码。chardet库是一个非常优秀的字符串或文件编码检测模块,首次使用需要安装该库。使用chardet库的detect方法检测给定字符串的编码的语法格式及参数说明如下:chardet.detect(byte_str)#byte_str接收string,表示需要检测编码的字符串。【例3-4】使用Requests发起GET请求,携带请求头和设置响应时间,并设置响应编码和查看状态码。1. importrequests#导入请求库2. importchardet#导入编码检测库3. url="/"#指定目标网站地址4. headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/Safari/537.36','Accept-Language':'en-US,en;q=0.9','Connection':'keep-alive'5. }#设置请求头信息6. response=requests.get(url,headers=headers,timeout=10)#携带请求头和响应时间7. print('响应状态码:',response.status_code)#输出状态码8. encode=chardet.detect(response.content)#检测响应内容的编码,参数为字节型的字符串9. response.encoding=encode['encoding']#设置响应内容的编码10. print('网页编码:',response.encoding)#输出响应内容的编码11. print(response.text)#输出响应内容(4)数据解析数据解析是指从获取的网页源代码中提取所需的信息。Requests库自身提供不同方法来处理所获取的响应数据。当然若要准确地定位和提取信息,可以使用像正则表达式、XPath和BeautifulSoup这些常见的数据解析方法。【例3-5】解析文本数据。1. importrequests#导入请求库2. response=requests.get('/')#发起请求3. response.encoding='utf-8'#设置编码4. text_data=response.text#使用text属性获取响应内容5. print(text_data)#输出响应内容【例3-6】解析JSON数据。1. importrequests#导入请求库2. importjson#导入JSON库3. 4. url='/trafficindex/city/list'#设置目标网站5. headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)6. AppleWebKit/537.36(KHTML,likeGecko)Chrome/7. Safari/537.36'}#设置请求头8. 9. response=requests.get(url,headers=headers)#发起请求10. json_data=json.loads(response.text)#使用json.loads加载和解析JSON数据11. print(json_data['data']['list'])#提取字典中的'data'里的'list'键值【例3-7】解析二进制数据。1. importrequests#导入库2. response=requests.get('/images/2024-07/3. 360e70536994437f804ffd39a306beb5.jpg')#发起请求4. image_data=response.content#使用content返回图片二进制响应数据5. withopen('image.jpg','wb')asf:#指定保存图片的文件6. f.write(image_data)#写入响应数据(5)数据存储在使用Requests库获取到网页响应数据后,可以将数据存储为HTML文件、文本文件、JSON文件,或者存储到MySQL数据库。【例3-8】存储为HTML文件。1. importrequests#导入库2. importchardet#导入编码检测库3. 4. response=requests.get('/xxgk/xxjj/index.htm')#发起请求5. encode=chardet.detect(response.content)#检测响应内容的编码6. response.encoding=encode['encoding']#设置响应内容的编码7. html_data=response.text#获取响应数据8. withopen('./tmp/gcc.html','w',encoding='utf-8')asf:#设置存储路径与文件名9. f.write(html_data)#存储数据为gcc.html文件4.

温馨提示

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

评论

0/150

提交评论