admin管理员组

文章数量:1539849

2024年4月7日发(作者:)

深圳信息职业技术学院软件学院

《Python爬虫程序设计》课程标准

课程名称:Python爬虫程序设计

适用专业:软件技术

课程编码:

参考学时:56

一、课程概述

随着互联网技术的飞速发展,以及国家产业信息化进程的大力推进下,在大

数据时代背景下,产生了对基于Web网站的数据的大量需求。快速、稳定、健

壮、分布式的爬虫程序呼之欲出,业界对于爬虫程序的开发人员需求很大,而此

类人才在目前的人才市场上比较稀缺,造成爬虫程序工程师等职位的需求缺口较

大。

本门课程旨在通过学习与实践培养学生的爬虫程序开发能力,为社会输送急

需人才;课程对应的网页爬虫开发工程师岗位有着相对较高的薪酬水平和较为广

阔的发展前景,可以为参加学习的学生提供良好职业预期发展。

本课程主要面向岗位为网页爬虫开发工程师,能力辐射岗位有:Web开发

工程师、数据分析师、测试工程师、文档工程师、售前/售后工程师等。

1.课程性质

本课程注重对学生职业能力和创新精神、实践能力的培养。本课程旨在对学

生的程序设计思想和技能进行,培养学生利用主流scrapy框架进行爬虫项目的

设计与开发。

《Python爬虫程序设计》课程是软件技术专业Python方向的专业核心课程,

是融理论与实践一体化,教、学、做一体化的专业课程,是基于设计的工作过程

系统化学习领域课程,是工学结合课程。

本课程的前续课程安排为:“Python程序设计基础”、“HTML5基础”、“数

据库技术”;与本课程可以平行开展的课程为web后台技术类课程如:“PHP开

发基础”、“Web应用开发技术”等相关课程;本课程的后续课程为“Python数

据分析技术”。

1

深圳信息职业技术学院软件学院

Web应用开发技术

HTML5基础

Python程序基础

Python爬虫程序技术

Python数据分析技术

数据库技术

PHP开发基础

2设计思路

课程开发遵循的基于工作过程导向的现代职业教育指导思想,课程的目标是

网页爬虫程序开发职业能力培养。

课程教学内容的取舍和内容排序遵循以工作需求为目标原则,务求反映当前

网页爬虫开发的主流技术和主流开发工具,同时重视软件工程的标准规范,重视

业内工作过程中的即成约定,努力使学生的学习内容与目标工作岗位能力要求无

缝对接。

本课程采用了“项目引领,任务驱动”的教学模式。在充分分析深圳市行业发

展的特点与方向的基础上,分别选取了“

QuotestoScrapy

”网站、“京东商城”等网站

具有发展前景的行业中的知名互联网系统,在由浅入深、循序渐进的过程中要求

学生设计实现目标项目,并将目前爬虫程序必备功能组件如用网页数据下载、数

据分析、数据存储、网页递归爬取等技术作为项目中的系列任务。课程章节的演

进则按照爬虫程序技术知识点的难易程度和之间的关联关系进行组织。在授课过

程中,项目的主要开发阶段模块化,特定的功能任务化,学生在完成各个“任务”

的同时,学习并掌握项目开发过程中所需的技能和应遵守的业内规范,为学生职

业能力发展奠定良好的基础等。

课程设计的总体原则是“基于课程对应的就业岗位工作过程”,基于此原则课

程组进行了充分的调研,过程如下:

第一步:岗位需求调研;

第二步:确定课程对应的岗位能力需求;

第三步:根据岗位能力需求确定教学目标;

第四步:明确课程的学习任务;

第五步:并根据任务设计学习活动

二、课程目标

本课程内容涵盖了对学生在“基本理论”、“基本技能”和“职业素质”三个层次

的培养。以网页爬虫开发岗位必备的开发技能为重点并具备相应的理论基础的同

2

深圳信息职业技术学院软件学院

时,注重综合职业素质的养成,课程采用启发诱导式教学,鼓励学生“勤于思考,

勤于动手”。

1)基本理论要求:

掌握爬虫程序设计理念;

掌握数据提取与存储思想

掌握scrapy爬虫框架设计思想。

2)基本技能要求:

熟练掌握ullib网页下载方法;

熟练掌握正则表达式选取数据的规则;

熟练掌握BeautifulSoup工具选择数据的方法;

熟练掌握xpath、css选择数据的方法;

熟练掌握scrapy网页爬取的工作流程;

熟练掌握scrapy中Item、Pipeline数据的序列化输出方法;

熟练掌握scrapy中Spider的网页递归爬取技术;

熟练掌握scrapy中中间件的使用方法;

3)职业素质要求:

能够完成真实业务逻辑向代码的转化;

能够独立分析解决技术问题;

自学能力强,能够快速准确地查找参考资料;

能够按照规范编写技术文档;

沟通能力强,能够与小组其他成员通力合作。

本门着重培养学生独立完成交互式爬虫程序项目的设计、开发以及测试等能

力。课程对学生专业能力的培养及要求学生达到的水平目标如下表所示:

编号

1

2

3

4

5

能力目标

使用ullib实现网页下载

使用正则表达式获取网

页数据

使用BeautifulSoup工具

选择数据

使用xpath、css选择数据

使用scrapy编写网页爬

知识水平目标

能够通过ullib网页下载函数方法下载网页

能够实现编码的转换

能够根据功能组件的不同实现需求,使用正则表达式匹配并提取

网页中的数据

能够使用BeautifulSoup工具选择数据

掌握find_all等常用方法

能够xpath、css选择复杂的数据

能够使用scrapy网页爬取的工作流程爬取单个网页的某几个特

3

深圳信息职业技术学院软件学院

虫程序

6

7

8

征数据

能够使用scrapy中Pipeline进行数据提取与数据存储。

能够使用scrapy中Spider的网页递归爬取循环,能实现数据的

提取与存储

能够使用scrapy框架开发爬虫程序,爬取QuotesScrapy网站的

作者信息

使用Item、Pipeline实现

数据序列化与存储

使用scrapy实现网页递

归爬取

网站爬虫程序综合开发

三、能力解析表

能力目标

具体描述

步骤

使用ullib实现网页下载编号

1

能够通过ullib网页下载函数方法下载网页,实现编码的转换

1.搭建前端开发环境

2.搭建后端静态网页

3.例用urllib下载后端网页

4.编写程序实现编码(GBK,UTF-8)的自动识别与转换

5.存储网页到文件或者数据库

工具与设备

开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

4.互联网环境

知识基础标准

、UTF8编码规则

程序基础

4.数据文件或者数据库基础

态度、素质1.负责任的态度

2.有进取心

3.遵守标签书写规范

4.自学能力强

考核标准1.熟记HTML常用标签

、UTF8识别与转换知识与技能

网站的访问与网页数据下载知识与技能

4.网页文件的存储知识与技能

库的使用方法

积件素材网站、教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图片

4

深圳信息职业技术学院软件学院

能力目标

具体描述

步骤

使用正则表达式获取网页数据编号

2

能够根据功能组件的不同实现需求,使用正则表达式匹配并提取网页中的数据

1.搭建前端开发环境

2.搭建Web后台静态网页

3.使用urllib函数方法下载网页

4.使用正则表达式匹配并提取网页的数据

工具与设备

开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

4.互联网环境

知识基础标准

2.正则表达式匹配符号

3.匹配字符串的提取

4.匹配字符串的存储

态度、素质1.负责任的态度

2.有进取心

3.良好的代码习惯

4.自学能力强

考核标准1.熟记正则表达式基本语法

2.熟记正则表达式匹配函数的使用L

3.能够独立完成数据的匹配与提取

4.能够独立完成功能测试,并能够根据测试结果改进程序设计

积件素材网站、教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图片

能力目标

具体描述

步骤

使用BeautifulSoup工具选择数据编号

3

能够使用BeautifulSoup工具选择数据,掌握find_all等常用方法

1.搭建前端开发环境

2.搭建Web后台静态网页

3.使用urllib函数方法下载网页

4.使用BeautifulSoup提取网页的数据

5

深圳信息职业技术学院软件学院

5.存储提取的数据

工具与设备

开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

4.互联网环境

知识基础选择器的使用

树的构建

fulSoup常用函数

态度、素质1.负责任的态度

2.有进取心

3.良好的代码习惯

4.自学能力强

考核标准1.掌握DOM树的构建方法

2.能够独立完成BeautifulSoup插件的下载与配置,使得插件在网页中正常运行。

3.能熟练使用BeautifulSoup常用函数提取网页数据

积件素材网站、教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图片

能力目标

具体描述

步骤

使用xpath、css选择数据

能够xpath、css选择复杂的数据。

1.搭建前端开发环境

2.搭建Web后台静态网页

3.使用urllib函数方法下载网页

4.使用BeautifulSoup提取网页的数据

5.存储提取的数据

编号

4

工具与设备

开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

4.互联网环境

知识基础树结构

选择器选择数据的规则

选择器选择数据的规则

6

深圳信息职业技术学院软件学院

态度、素质1.负责任的态度

2.有进取心

3.良好的代码习惯

4.自学能力强

考核标准树结构

选择数据的规则

选择器选择数据的规则

积件素材网站、教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图片

能力目标

具体描述

步骤

使用scrapy编写网页爬虫程序编号

5

能够使用scrapy网页爬取的工作流程爬取单个网页的某几个特征数据

1.搭建scrapy开发环境

2.搭建Web后台网页

3.使用scrapy爬取网页文件

4.使用xpath,css获取特征数据

工具与设备

开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

4.互联网环境

知识基础框架知识与工作流程

程序编写

,css数据提取

的生成器

态度、素质1.负责任的态度

2.有进取心

3.良好的代码习惯

4.自学能力强

考核标准框架知识与工作流程

程序编写

,css数据提取

的生成器的使用

7

深圳信息职业技术学院软件学院

积件素材网站、教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图片

能力目标

具体描述

步骤

使用

Item、Pipeline实现数据序列化与存储

能够使用scrapy中Pipeline进行数据提取与数据存储。

1.搭建scrapy开发环境

2.搭建Web后台网页

3.使用scrapy爬取网页文件

4.使用Item、Pipeline提取与存储数据

编号

6

工具与设备开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

3.互联网环境

知识基础字段定义规则

ne数据管道原理

态度、素质1.负责任的态度

2.有进取心

3.良好的代码习惯

4.自学能力强

考核标准字段定义规则

ne数据管道原理

3.能够使用scrapy爬取网页数据并把数据序列化成XML、JSON格式进行存储

积件素材教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图片

能力目标

具体描述

步骤

使用scrapy实现网页递归爬取编号

7

能够使用scrapy中Spider的网页递归爬取循环,能实现数据的提取与存储

1.搭建scrapy开发环境

2.搭建Web后台众多关联网页

3.使用scrapy爬取多层嵌套与关联的网页文件

4.使用Item、Pipeline提取与存储数据

工具与设备开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

3.互联网环境

8

深圳信息职业技术学院软件学院

知识基础1.程序递归

的Request调度机制

3.分布式程序知识

爬取深度的控制方法

态度、素质1.负责任的态度

2.有进取心

3.良好的代码习惯

4.自学能力强

考核标准1.程序递归

的Request调度机制

3.使用scrapy设计分布式程序爬取众多关联网页的数据

积件素材网站、教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图片

能力目标

具体描述

步骤

网站爬虫程序综合开发编号

8

能够使用scrapy框架开发爬虫程序,爬取QuotesScrapy网站的作者信息

1.搭建scrapy开发环境

2.获取QuotesScrapy网站网页代码

3.阅读与分析网站代码的数据特征

4.编写Item与Pipeline处理程序

5.编写spider程序实现递归爬取网页

6、编程数据库程序存储数据

工具与设备

开发工具、PyCharm等主流IDE

后台服务器,例如IIS,Tomcat等

4.互联网环境

知识基础代码特征提取

,Pipeline

递归爬虫

4.数据的序列化与存储

态度、素质1.负责任的态度

2.有进取心

9

深圳信息职业技术学院软件学院

3.良好的代码习惯

4.自学能力强

考核标准代码特征提取

,Pipeline

递归爬虫

4.数据的序列化与存储

积件素材网站、教案、教学PPT、经典案例、案例源代码、电子书、网络技术社区支持、图

四、课程内容

1.基本框架

序号

1

学习任务

使用ullib实

现网页下载

前端开发环境搭建

实战训练

技能训练:

完成网页的下载

实战项目案例:

下载学校、百度、京东等网页

示例教学:

t下载网页

实战训练

技能训练:

正则表达式语法训练

实战项目案例:获取学校网站的所有图片文件名称

示例教学:

HTML网页特征数据

正则表达式匹配规则

匹配字符串提取

实战训练

技能训练:

BeautifulSoup插件安装

BeautifuSoup文档阅读(English版本)

BesutifuSoup常用函数

实战项目案例:获取学校网站的所有图片文件名称

示例教学:

DOM树的构建

BeautifulSoupfind_all函数使用

BeautifulSoupSelect函数使用

学习活动教学方法

现场操作

现场操作

案例教学

参考学时

2

2

现场操作

案例教学

现场操作

案例教学

2

42使用正则表

达式获取网

页数据

现场操作

案例教学

2

3使用

BeautifulSoup

工具选择数

现场操作

案例教学

4

现场操作

案例教学

2

10

深圳信息职业技术学院软件学院

4使用xpath、

css选择数据

实战训练

技能训练:

xpath选择数据

css选择数据

实战项目案例:获取学校网站的所有图片文件名称

示例教学:

xpath选择数据的规则

css选择数据的规则

实战训练

技能训练:

安装scrapy

阅读scrapy文档(English版本)

编写spider程序

实战项目案例:

编写spider爬取学校网站的所有图

片并下载这些图片

示例教学:

scrapy程序流程

scrapy程序的spider编写

实战训练

技能训练:

Item编写

Pipeline编写

settings设置

实战项目案例:爬取学校网站所有链接

示例教学:

Item类编写

Pipeline了编写

settings的设置

实战训练

技能训练:

scrapy递归程序编写

爬取网站图片

实战项目案例:爬取

学校网站的所有图片与关联网

站的图片

示例教学:

递归程序

scrapy调度机制

scrapy递归爬取程序

实战训练

技能训练:

爬虫程序综合训练

实战项目案例:

爬取QuotesScrapy网站作者信息,

并格式化数据实现数据存储

现场操作

案例教学

4

现场操作

案例教学

2

5使用scrapy

编写网页爬

虫程序

现场操作

案例教学

4

现场操作

案例教学

4

6使用Item、

Pipeline实现

数据序列化

与存储

现场操作

案例教学

4

现场操作

案例教学

4

7使用scrapy

实现网页递

归爬取

现场操作

案例教学

4

现场操作

案例教学

4

8网站爬虫程

序综合开发

现场操作

案例教学

6

11

深圳信息职业技术学院软件学院

示例教学:

QuotesScrapy网站数据特征

现场操作

案例教学

2

合计:56

注:上述表格学习活动中

实战项目案例

为开展教学活动建议,任课教师可根据知识

点和技能训练要点自行开发教学案例

2.主要内容与要求

1)学习内容:使用ullib实现网页下载

学习成果要求:

HTML常用标签

GBK、UTF8识别与转换知识与技能

Web网站的访问与网页数据下载知识与技能

网页文件的存储知识与技能

urllib库的使用方法

2)学习内容:使用正则表达式获取网页数据

学习成果要求:

能使用正则表达式基本语法

能使用正则表达式匹配函数的使用

能够独立完成数据的匹配与提取

能够独立完成功能测试,并能够根据测试结果改进程序设计

3)学习内容:使用BeautifulSoup工具选择数据

学习成果要求:

能使用DOM树

能够独立完成BeautifulSoup插件的下载与配置,使得插件在网页中

正常运行。

能熟练使用BeautifulSoup常用函数提取网页数据

4)学习内容:使用xpath、css选择数据

学习成果要求:

能使用DOM树

能使用xpath选择数据

能使用css选择数据

5)学习内容:使用scrapy编写网页爬虫程序

学习成果要求:

scrapy框架知识与工作流程

12

深圳信息职业技术学院软件学院

spider程序编写

xpath,css数据提取

Python的生成器的使用

6)学习内容:使用Item、Pipeline实现数据序列化与存储

学习成果要求:

能使用Item字段定义

能使用Pipeline数据管道

能够使用scrapy爬取网页数据并把数据序列化成XML、JSON格式

进行存储

7)学习内容:使用scrapy实现网页递归爬取

学习成果要求:

能使用程序递归

能使用scrapy的Request调度机制

能使用scrapy设计分布式程序爬取众多关联网页的数据

8)学习内容:网站爬虫程序综合开发

学习成果要求:

能综合应用爬虫程序知识、数据提取知识、程序分布式知识编写综

合爬虫程序;

五、考核方案

为了多方位地培养学生的职业技能和素养,在加强学生自律意识、强化实战

能力以及深刻理解课程涉及的概念原理等多个方面都起到敦促与评定的目的,本

门课程的总评成绩由三个部分组成,按照其重要程度占不同的权重,计算方法如

下:

总评成绩

=

出勤(

20%

+

平时成绩(

40%

+

笔试成绩(

40%

下面表格中的考核标准是指平时成绩的判断标准。笔试由深圳信息职业技术

学院教务处统一组织,在第16教学周集中考试。

序号

1

2

3

4

5

6

课程目标(编号)

1

2

3

4

5

6

考核标准

实现ullib网页下载

实现正则表达式提取网页数据

实现BeautifulSoup选择数据

实现xpath、css选择数据

实现scrapy网页爬虫程序

实现Item、Pipeline数据序列化

与存储

考核方式

项目制作

项目制作

项目制作

项目制作

项目制作

项目制作

证据材料

项目演示

项目演示

项目演示

项目演示

项目演示

项目演示

13

深圳信息职业技术学院软件学院

7

8

7

8

实现scrapy网页递归爬取

实现综合网站爬虫程序

项目制作

现场操作

项目演示

项目演示

六、教学文件开发意见

1.教材选用/讲义编写意见

教材原则上应为近3年出版或者再版的高职高专教材,或者自编讲义。内容与Python爬虫技术

的需求同步;教材的编写应体现项目引导,任务驱动、实践导向的设计思想;内容组织方式应适合学

生理解和操作。

2.项目任务书、案例教学方案、实训指导书、课堂活动方案等教学文件的开发思路与意见

教学文件的编写,应组织有丰富专业技能和教学经验组成课程小组,经过集体讨论,将前期行业、

企业调研的结果形成可落实到课堂教学行为和学生学习行为的教学文件。教学文件应严格按照相关文

档规范组织内容。教学文件内容应紧扣当前岗位需求技能,并适合学生的理解和操作。

3.学习指南、学习包、课件等的开发思路与意见

学习指南、学习包、课件等课程学习资源的开发,应适合学生独立学习,对学生的学习路径应有

明确的指引,内容在覆盖本课程教学标准技能知识点的基础上可进行知识扩展。

七、教学资源使用建议

1.教学设施资源使用建议

说明:

课程应在校内实训基地具备如下条件的实训室中完成:

硬件:PC

操作系统:windows操作系统

软件:Python3.x,BeautifulSoup

Scrapy、Web项目后台运行环境(Web服务器、数据库以

及后台集成开发环境)由学生根据本人专业方向课程设计中的相关Web后台开发技术

(/JavaWeb/python/php)自行安装。

鼓励学生使用图书馆、互联网查找课程、行业相关资料,并指导学生使用学院的教学案例资源库

平台及企业工作室等公共资源进行课程学习与能力的提高。

2.教学文件资源使用建议

说明:

本门课程配套相应的网络课程,为学生提供丰富的电子课件、课程录像、参考案例等教学资源。

建议在授课课程中同步使用。

本门课程配套有独立27学时的课程实训《Python爬虫程序设计课程实训》,建议在课程实训中

同步使用《实训指导书》,指导学生完成实训并撰写实训报告。

14

深圳信息职业技术学院软件学院

八、课程教学方法建议

项目引领,任务驱动

首先教师给出项目目标的设计与实现,使学生对即将展开的学习有大致的目

标性了解。

课程采用“任务驱动”的教学单元设计,新的技能知识蕴含于新的任务中,任

务的发布通常以贴近学生生活的“导入思考”的形式给出,来激发学生的学生兴

趣。

学完课程规定内容后,学生将通过自己的努力实现了功能较为完整Python

爬虫程序,在获得了对网页爬虫开发的整体流程经验的同时,也会因为项目的完

成获得“成就感”等良好的情感体验。

教学做一体化

课程中技能的讲授尽量避免艰涩的理论说教,采用“stepbystep”实操图示

向导指引和源代码示例,引导学生完成各个“任务”,教师“边做边教”,学生“在

做中学”,便可完成“任务”,同时也习得了新技能。

注重自主学习、合作学习,兼顾学生的个性发展

授课过程中应注重学生“终身学习能力”的培养和锻炼,项目中某些功能模

块,其实现技术与小节中任务的实现技术相似,以“课后练习”的形式给出,并有

实现提示,要求学生根据已习得的知识和技能,并自行查找参考资料来完成,在

巩固课堂知识的同时,也锻炼了学生自学能力和自主解决问题的能力。

通过网络课程延展教学空间与时间

本门课程建设有网络课程,内容包括授课视频、电子课件的自动播放、可视

化项目引导等多种多媒体呈现形式,方便学生在课余时间重温课堂;网络课程中

还设置有延展阅读、案例参考、学生优秀项目库等多种资源,是课堂教学内容的

优质补充;网络课程中还有设置有试题库、自我测试等板块,学生可以及时进行

自我评估。建议在授课过程中充分发挥网络课程的优势。

15

本文标签: 课程网页学生数据使用