文档详情

《Python网络爬虫技术案例教程》教案 第4章 爬取动态加载数据.docx

发布:2025-05-22约8.09千字共7页下载文档
文本预览下载声明

PAGE6

PAGE6

PAGE7

PAGE7

课题

第4章爬取动态加载数据

课时

8课时(360min)

教学目标

知识目标:

(1)理解什么是动态加载数据

(2)掌握使用逆向分析请求页面爬取动态加载数据的方法

(3)掌握使用Selenium模拟浏览器爬取动态加载数据的方法

(4)掌握将数据存储至MySQL数据库和MongoDB数据库的方法

能力目标:

能使用逆向分析请求页面和Selenium模拟浏览器方法爬取动态加载数据,并存储数据至数据库

素质目标:

培养在数据抓取过程中的问题解决能力和创新能力,并确保行为符合网络爬虫的道德和法律规范

教学重难点

教学重点:使用逆向分析请求页面爬取动态加载数据的方法,使用Selenium模拟浏览器爬取动态加载数据的方法,将数据存储至MySQL数据库和MongoDB数据库的方法

教学难点:使用逆向分析请求页面和Selenium模拟浏览器方法爬取动态加载数据

教学方法

案例分析法、问答法、讨论法、讲授法

教学用具

电脑、投影仪、多媒体课件、教材

教学过程

主要教学内容及步骤

考勤

【教师】使用APP进行签到

【学生】班干部报请假人员及原因

问题导入

【教师】提出以下问题:

(1)什么是动态加载数据?

(2)如何使用Selenium模拟浏览器爬取动态加载数据?

【学生】聆听、思考、举手回答

传授新知

【教师】通过学生的回答引入要讲的知识,介绍动态加载数据的基础知识,逆向分析请求页面,Selenium模拟浏览器,以及保存数据至数据库的相关知识

4.1动态加载数据概述

有时用户在使用urllib库或requests库爬取网页时,爬取到的结果可能和在浏览器中看到的不一样,在浏览器中正常显示的页面数据,在爬取到的结果中却没有。这是因为urllib库或requests库发送请求返回的是网页源代码(网页源代码中不包含由JavaScript动态加载的数据),而浏览器中的页面是经过JavaScprit动态加载的。下面以京东搜索“Python”网页为例来说明什么是动态加载数据。

?【教师】利用多媒体展示“京东搜索‘Python’网页”图片(详见教材),并进行讲解

打开GoogleChrome浏览器,访问/Search?keyword=Python,向下拖动滚动条到页面底部;按“F12”键,打开浏览器的开发者工具窗口,然后选择“Elements”选项,在显示的代码中可以查看到“金融大数据分析第2版”(该页显示的搜索的最后一本图书)的HTML信息,如图所示。

?【教师】利用多媒体展示“网页源代码”图片(详见教材),并进行讲解

在GoogleChrome浏览器呈现的网页中右击,在弹出的快捷菜单中选择“查看网页源代码”选项,然后在显示的网页源代码中查找“金融大数据分析”关键字,如图所示。

可以看到,在网页源代码中没有找到“金融大数据分析”的相关内容,进一步分析发现,网页中后30本图书信息都没有包含在网页源代码中。这就说明该网页的部分元素是通过JavaScript动态加载的。

?【教师】组织学生阅读“动态网页和静态网页”的内容(详见教材),并讨论以下问题:

动态网页和静态网页有什么区别?

?【学生】阅读、思考、讨论、举手回答

?【教师】总结学生的回答

4.2逆向分析请求页面

4.2.1案例引入——爬取京东网站的数据

?【教师】播放“逆向分析请求页面”视频(详见教材),并提出以下问题:

什么是逆向分析请求页面?它在网络安全或Web开发领域中有哪些实际应用?

?【学生】观看、思考、举手回答

?【教师】总结学生回答

?【教师】通过讲解案例,帮助学生理解逆向分析请求页面

【例4-1】爬取京东搜索“Python”网页内容,输出爬取到的图书信息。

(详见教材)

4.2.2分析页面

JavaScript动态加载数据一般使用Ajax技术(Ajax指异步JavaScript和XML,是一种创建交互式、快速动态网页应用的网页开发技术),它通过在后台与服务器进行数据交换,实现网页的异步更新。在确认想要获取的网页数据是通过Ajax动态加载的,这时,可通过分析Ajax请求获取真实的URL,然后使用urllib库或requests库构造并发送同样的请求即可。

【例4-2】爬取京东搜索“Python”网页的后30本图书信息并输出。

(详见教材)

4.3Selenium模拟浏览器

4.3.1案例引入——Selenium模拟浏览器访问淘宝网站

?【教师】通过讲解案例,帮助学生掌握Selenium模拟浏览器的使用方法

【例4-3】使用Selenium模拟浏览器访问淘宝首页,输出爬取到的HTML源代码。

(详见教材)

4.3.2Selenium简介

实际动态网页中,很多Ajax请求的

显示全部
相似文档