一、课程信息
表1 课程信息表
|
课程名称(学时) |
Python网络爬虫与数据采集 (64学时) |
开课院部 |
人工智能学院 |
|
课程代码 |
ZN0068Z |
大数据技术(510205) |
|
|
课程属性 |
□公共基础平台课程 □专业(群)平台基础课程 ☑专业(群)专业课程 |
||
|
课程性质 |
☑必修课 □限选课 □任选课 |
||
|
考核方式 |
③技能测试⑥报告 |
||
|
前导课程 |
计算机基础、JAVA程序设计等 |
||
|
后续课程 |
Python大数据分析 |
||
考核方式:①闭卷,②开卷,③技能测试,④面试(含答辩、口试、表演等),⑤小论文,⑥报告(含读书报告、调查报告、实习报告等),⑦项目(方案)设计,⑧课程实践,⑨其它。
二、课程性质与任务
(一)课程性质
《Python网络爬虫与数据采集》是大数据技术专业的一门专业核心课程,是学生必须掌握的核心知识与技能课程。主要涉及 Python 语法、数据类型、函数等内容。通过本课程的学习, 学生能够掌握Python开发的基础知识,后续学习大数据分析、机器学习等课程打下坚实基础。
(二)教学任务
该课程将使学生具备基本的Python程序设计能力、一定的语句编写能力、一定的数据分析处理能力和解决问题的能力。学生通过本课程的学习,掌握开发 Python程序开发的各项技能。根据课程面对的工作任务和职业能力要求。
三、课程目标与要求
(一)总体目标与要求
《Python网络爬虫与数据采集》课程涉及Python 基础的入门知识,主要包括Python简介、语法规范、程序流程控制、数据类型、函数等内容。通过对本课程的学习,达到以下目的:使学生在全面了解Python程序设计语言历史、现状与发展趋势的基础上,系统掌握Python的基本概念、编程思想及程序设计技术,具备一定的Python程序设计技能,具备独立开发Python简单项目的能力,为后续大数据技术、人工智能技术及数据分析等课程的学习打下坚实的基础,毕业后能综合运用所学知识解决、处理实际问题。
(二)具体目标与要求
素质目标:通过本课程的学习,培养作为一个工程技术人员必须具备的坚持不懈的学习精神,严谨治学的科学态度和积极向上的价值观,为未来的学习、工作和生活奠定良好的基础,同时培养团队开发和团队沟通的能力。
知识目标:通过本课程的学习,学生需要掌握 Python语法规范、程序流程控制、数据 类型、函数、文件与数据格式化、面向对象、异常处理,以及Python网络爬虫与数据采集等内容,熟练使用Python程序设计思维,利用程序解决现实世界的问题。熟悉使用常用Python程序开发环境,如PyCharm、Visual Studio Code 2022等程序集成开发环境,学会调试程序并进行实践项目的开发。
能力目标:通过本课程的学习,培养学生熟练运用Python基本数据类型以及不同领域的Python扩展模块等特性来解决实际应用问题;能够识读和编写较复杂程度的程序;具有计算思维能力、创新能力和发现问题、分析问题和解决问题的能力。
四、课程内容与结构
(一)职业能力与课程内容
表2 职业能力与课程内容
|
工作内容 |
职业能力分析 |
支撑能力的知识技能 |
|
数据采集 |
能够根据不同需求,使用 Python 编写爬虫程序,从各种网站获取数据,包括静态网页和动态网页数据。初级可完成基础静态页面抓取,进阶后能应对如 AJAX 请求、验证码等反爬机制,获取复杂动态网页数据。 |
1.掌握面向对象编程,熟悉常用标准库和第三方库,如 requests、2.BeautifulSoup、Scrapy 等。了解 JavaScript,有助于分析网页动态数据加载。 3.熟练使用 XPath、CSS 选择器等解析网页结构,提取所需数据。掌握正则表达式,用于复杂文本模式匹配和数据提取。 |
|
数据处理与存储 |
采集的数据需处理和存储,可将非结构化数据转换为结构化数据,进行清洗、去重等操作,还能根据数据特点选择合适存储方式,如使用 MySQL 等关系型数据库或 MongoDB 等非关系型数据库存储数据。
|
掌握文件存储方式,如 CSV、JSON 等。熟悉 MySQL、MongoDB 等数据库的使用,包括表结构设计、数据插入、查询等操作,能根据数据特点选择合适数据库存储数据。 |
(二)课程结构与学时安排
《Python网络爬虫与数据采集》课程共计64学时,分十个模块,每个模块按照工作内容分为若干任务,每一个任务承载一定学习内容,具体如下表:
表3 课程结构及学时安排
|
模块 |
任务 |
学习内容 |
学时 |
|
|
模块一:网络爬虫入门 |
概述 |
2学时 |
1.Python的发展、特点、应用领域、开发工具 2.Python爬虫的工作协议以及工作流程 3.完成Python开发环境搭建 |
8 |
|
爬虫工作协议与流程 |
4学时 |
|||
|
搭建Python开发环境 |
2学时 |
|||
|
模块二:爬虫基础 |
HTTP基本原理 |
2学时 |
1.HTTP基本原理 2.urllib库的组成以及功能优势 3.requests库的组成以及功能优势 4.字符编码的使用 |
8 |
|
urllib库与requests库 |
4学时 |
|||
|
字符编码 |
2学时 |
|||
|
模块三:网页解析基础 |
网页基础 |
2学时 |
1.网页基础框架 2.lxml库的用法 3.beautifulsoup4库的用法 4.正则表达式的用法 |
8 |
|
urllib库、requests库 |
4学时 |
|||
|
正则表达式 |
2学时 |
|||
|
模块四:爬取动态加载数据 |
存储数据至文件 |
2学时 |
1.将数据存储至文件的方法 2.数据的动态加载 3.认识逆向分析请求页面 4.使用Selenium模拟浏览器的方法 5.将数据存储至数据库的方法 |
10 |
|
动态加载数据概述 |
2学时 |
|||
|
逆向分析请求页面 |
2学时 |
|||
|
Selenium模拟浏览器 |
2学时 |
|||
|
存储数据至数据库 |
2学时 |
|||
|
模块五:反爬虫策略 |
反爬虫策略 |
2学时 |
1.爬取App数据应用 2.爬取PC客户端数据应用 |
4 |
|
应对反爬虫的措施 |
2学时 |
|||
|
模块六:模拟登录和处理验证码 |
模拟登录 |
2学时 |
1.模拟登录的使用方法 2.处理验证码的方法措施 |
4 |
|
处理验证码 |
2学时 |
|||
|
模块七:爬取App和PC客户端数据 |
爬取App数据 |
2学时 |
1.爬取App数据 2.爬取PC客户端数据 |
4 |
|
爬取PC客户端数据 |
2学时 |
|||
|
模块八:爬虫框架Scrapy |
Scrapy框架 |
2学时 |
1.Scrapy框架介绍 2.Scrapy框架应用 |
4 |
|
Scrapy应用 |
2学时 |
|||
|
模块九:分布式爬虫 |
分布式爬虫原理 |
2学时 |
1.分布式爬虫原理 2.Scrapy-Redis分布式爬虫 3.Scrapyd部署分布式爬虫应用 |
6 |
|
Scrapy-Redis分布式爬虫 |
2学时 |
|||
|
使用Scrapyd部署分布式爬虫 |
2学时 |
|||
|
模块十:京东商品信息爬取及数据分析 |
项目需求 |
2学时 |
1.项目需求应用分析 2.爬虫应用 3.爬虫数据分析应用 4.京东商品信息爬取及数据分析 |
8 |
|
爬虫实现 |
2学时 |
|||
|
爬虫数据分析 |
2学时 |
|||
|
京东商品信息爬取 |
2学时 |
|||