《互联网数据采集与处理》教学大纲
课程性质
本课程是向电子商务专业学生开设的核心课。
考核目的
本门课程旨在通过学习与实践培养学生的爬虫程序开发和数据采集能力,为社会输送急需人才;通过本课程学习,学生可以学会使用Python在静态网页、动态网页等互联网数据等进行数据爬取,进而利用Python进行一定的数据分析和数据挖掘,将理论与实践相结合,为将来从事数据爬虫、分析研究工作奠定基础。
考核依据教材
自编
教学手段
采用课堂教学、电子商务数据分析实验、学生操练等相结合的教学方式。
考核教学要求
通过本课程的理论教学和相关实验训练,使学生具备如下能力:
(1)本课程旨在对学生的程序设计思想和技能进行,培养学生利用主流scrapy框架进行爬虫项目的设计与开发。
(2)本课程内容涵盖了对学生在“基本理论”、“基本技能”和“职业素质”三个层次的培养。以网页爬虫开发岗位必备的开发技能为重点并具备相应的理论基础的同时,注重综合职业素质的养成,课程采用启发诱导式教学,鼓励学生“勤于思考,勤于动手”。
(3)本课程注重对学生职业能力和创新精神、实践能力的培养。
考核课程内容
第一模块:python基础巩固 (支撑课程目标1)
第1章python基础
重点内容:
(1)数据类型、运算符与内置函数
(2)运算符与表达式
(3)常用内置函数
(4)列表、元组、字典、集合与字符串
(5)选择结构、循环结构、函数定义与使用
(6)文件操作
难点内容:
(1)数字大小没有限制,实数计算会有误差,字典的键和集合中的元素不允许重复并且必须为不可变类型的数据,包含一个元素的元组必须有逗号。
(2)关系运算符可以连用,关系运算符、成员测试运算符和逻辑运算符具有惰性求值的特点,列表、元组、字符串比较大小时逐个比较其中的元素大小直至得出确定的结论,关系运算符作用于集合时表示集合的包含关系而不关心元素大小。
(3)内置函数max()、min()、sorted()的key参数可以用来指定排序规则,range()函数限定的是左闭右开区间,函数式编程模式。
(4)列表、元组、字符串的下标可以是负数,列表推导式,切片限定的是左闭右开区间。生成器表达式具有惰性求值特点,并且其中的元素只能使用一次,序列解包要求等号两侧值的数量和变量的数量必须相等。字典的键可以作为下标,字典的get()方法,使用字典的键作为下标的赋值语句的两种含义。
(5)条件表达式与True、False的等价关系,嵌套选择结构的代码缩进。带else的for循环和while循环执行逻辑以及break语句的作用。lambda表达式功能与适用场合,默认值参数,可变长度参数的两种形式,变量作用域。
(6)读写文件时会自动移动文件指针,读写文本文件时一定要注意编码格式。separators参数的作用。编码格式的影响。python-docx、openpyxl、python-pptx扩展库的安装及其用法。
教学内容:
(1)整数、实数、复数、列表、元组、字典、集合、字符串等常用数据类型。
(2)算术运算符、关系运算符、成员测试运算符、集合运算符、逻辑运算符。
(3)类型转换、最大值、最小值、元素数量、求和、排序、逆序、基本输入输出、range()、zip()、map()、reduce()、filter()。
(4)创建列表、使用下标访问列表中的元素、列表常用方法、列表推导式、切片操作。
(5)元组与列表的区别、生成器表达式、序列解包。
(6)字典元素访问、字典元素修改、添加与删除。
(7)集合概述、集合常用方法。
(8)encode()、format()、index()、rindex()、count()、replace()、maketrans()、translate()、ljust()、rjust()、center()、split()、rsplit()、join()、lower()、upper()、capitalize()、title()、swapcase()、startswith()、endswith()、strip()、rstrip()、lstrip()。3.5 字符串常用方法
(9)条件表达式、单分支选择结构、双分支选择结构、嵌套的分支结构。
(10)for循环、while循环、break与continue语句。
(11)函数定义基本语法、lambda表达式、递归函数、生成器函数、位置参数、默认值参数、关键参数、可变长度参数、变量作用域。
(12)Word、Excel、PowerPoint文件的内容读取。
第二模块:python网络数据采集 (支撑课程目标1、2)
第2章ullib、requests库使用
重点内容:
(1)HTML常用标签,GBK、UTF8识别与转换知识与技能
(2)Web网站的访问与网页数据下载知识与技能,网页文件的存储知识与技能
(3)urllib、requests库的使用方法
难点内容:
(1)Web网站的访问与网页数据下载知识与技能,网页文件的存储知识与技能
(2)urllib、requests库的使用方法
教学内容:
(1)使用ullib实现网页下载
(2)使用requests实现网页下载
第3章BeautifulSoup库使用
重点内容:
(1)能使用DOM树
(2)能够独立完成BeautifulSoup插件的下载与配置,使得插件在网页中正常运行
(3)能熟练使用BeautifulSoup常用函数提取网页数据
难点内容:
能够独立完成BeautifulSoup插件的下载与配置,使得插件在网页中正常运行,能熟练使用BeautifulSoup常用函数提取网页数据
教学内容:使用BeautifulSoup工具选择数据
第4章Re(正则表达式)库使用
重点内容:
(1)能使用正则表达式基本语法
(2)能使用正则表达式匹配函数的使用
(3)能够独立完成数据的匹配与提取
(4)能够独立完成功能测试,并能够根据测试结果改进程序设计
难点内容:
(1)能使用正则表达式基本语法,能使用正则表达式匹配函数的使用
(2)能够独立完成数据的匹配与提取
教学内容:使用正则表达式获取网页数据
第5章scrapy爬虫框架使用
重点内容:
(1)能使用DOM树,能使用xpath选择数据,能使用css选择数据
(2)scrapy框架知识与工作流程,spider程序编写,xpath,css数据提取,Python的生成器的使用
(3)能使用Item字段定义,能使用Pipeline数据管道,能够使用scrapy爬取网页数据并把数据序列化成XML、JSON格式进行存储
(4)能使用程序递归,能使用scrapy的Request调度机制,能使用scrapy设计分布式程序爬取众多关联网页的数据
难点内容:
(1)scrapy框架知识与工作流程,spider程序编写,xpath,css数据提取,Python的生成器的使用
(2)能使用程序递归,能使用scrapy的Request调度机制,能使用scrapy设计分布式程序爬取众多关联网页的数据
教学内容:
(1)使用scrapy编写网页爬虫程序
(2)使用xpath、css选择数据
(3)使用Item、Pipeline实现数据序列化与存储
(4)使用scrapy实现网页递归爬取
第三模块:数据分析基础 (支撑课程目标1、2、3)
第6章 numpy数组与矩阵运算
重点内容:
(1)numpy数组及其运算
(2)矩阵生成与常用操作
(3)计算特征值与特征向量
(4)计算逆矩阵
(5)求解线性方程组
(6)计算向量和矩阵的范数
(7)奇异值分解
(8)函数向量化
难点内容:
(1)数组与标量的运算,相同形状的数组之间的运算,函数对数组的运算,数组布尔运算,分段函数。
(2)矩阵与数组的区别。矩阵特征值与特征向量的含义。不是所有矩阵都有逆矩阵。
(3)向量范数与矩阵范数的区别。
(4)奇异值的定义,奇异值分解的意义。
教学内容:
(1)创建数组、测试两个数组的对应元素是否足够接近、修改数组中的元素值、数组与标量的运算、数组与数组的运算、数组排序、数组的内积运算、访问数组中的元素、数组对函数运算的支持、改变数组形状、数组布尔运算、分段函数、数组堆叠与合并。
(2)生成矩阵、矩阵转置、查看矩阵特征、矩阵乘法、计算相关系数矩阵、计算方差、协方差、标准差。
(3)矩阵特征值与特征向量的含义,eig()函数。
(4)逆矩阵的计算,inv()函数。
(5)solve()函数。
(6)范数的定义与含义,form()函数。
(7)奇异值的定义,奇异值分解,svd()函数。
(8)普通函数向量化。
第7章 pandas数据分析实战
重点内容:
(1)pandas常用数据类型
(2)DataFrame数据处理与分析实战
难点内容:
(1)时间序列与常用操作。
(2)sort_index()、sort_values()、groupby()、fillna()、diff()、pivot()、crosstab()、resample()等函数或方法的用法,聚合函数的作用,属性接口。
教学内容:
(1)一维数组与常用操作、时间序列与常用操作、二维数组DataFrame。
(2)读取Excel文件中的数据、筛选符合特定条件的数据、查看数据特征和统计信息、按不同标准对数据排序、使用分组与聚合对员工业绩进行汇总、处理超市交易数据中的异常值、处理超市交易数据中的缺失值、处理超市交易数据中的重复值、使用数据差分查看员工业绩波动情况、使用透视表与交叉表查看业绩汇总数据、使用重采样技术按时间段查看员工业绩、多索引相关技术与操作、使用标准差与协方差分析员工业绩、使用pandas的属性接口实现高级功能、绘制各员工在不同柜台业绩平均值的柱状图、查看DataFrame的内存占用情况、数据拆分与合并。
第8章 matplotlib数据可视化实战
重点内容:
(1)matplotlib扩展库安装。
(2)plot()函数参数含义。
(3)scatter()函数参数含义。
(4)bar()函数参数含义。
(5)pie()函数参数含义。
(6)polar()函数参数含义。
(7)subplot()函数参数含义。
(8)legend()函数参数含义。
(9)不同类型事件的定义,mpl_connect()函数的使用。
难点内容:
(1)plot()函数参数含义。
(2)scatter()函数参数含义。
(3)polar()函数参数含义。
(4)subplot()函数参数含义。
(5)不同类型事件的定义,mpl_connect()函数的使用。
教学内容:
(1)matplotlib扩展库安装,matplotlib绘图一般过程。
(2)折线图绘制原理,折线图适用场景,商场优惠活动商场收益、顾客节省情况折线图,烧烤店营业额折线图,plot()函数。
(3)散点图绘制原理,散点图适用场景,烧烤店营业额展示,商场内手机信号强度展示,scatter()函数。
(4)柱状图绘制原理,柱状图适用场景,商场各部门业绩展示,烧烤店营业额柱状图展示,集体过马路方式柱状图展示,bar()函数参数含义。
(5)饼状图绘制原理,饼状图适用场景,学生成绩饼状图展示,pie()函数参数含义。
(6)雷达图绘制原理,雷达图适用场景,学生成绩分布雷达图展示,家庭开支雷达图展示,polar()函数参数含义。
(7)三维图形绘制原理,三维折线图与曲面图绘制,三维柱状图绘制,三维散点图绘制。
(8)绘图区域切分原理,创建三维子图,subplot()函数参数含义。
(9)图例的作用,legend()函数参数含义,图例位置、背景色、分栏等样式设置。
(10)鼠标进入、移动、离开等事件的响应与处理方式,定时器事件响应与处理,组件单击事件响应与处理,创建动画。
(11)fill()和fill_between()函数参数含义。
(12)保存绘图savefig()函数参数含义,dpi设置,图像文件格式设置。
第四模块:python数据挖掘 (支撑课程目标1、2、3)
第9章 sklearn机器学习实战
重点内容:
(1)岭回归、套索回归、弹性网络的区别,正则化的作用。
(2)逻辑回归算法算法与sklearn实现。
(3)朴素贝叶斯算法分类原理与sklearn实现,中文分词,特征向量的构造。
(4)主成分分析原理。
(5)cross_val_score()函数与GridSearchCV类的用法。
难点内容:
(1)岭回归、套索回归、弹性网络的区别,正则化的作用。
(2)朴素贝叶斯算法分类原理与sklearn实现,中文分词,特征向量的构造。
教学内容:
(1)样本、特征、特征向量、目标、偏差、方差、拟合、过拟合、数据泄露、有监督学习、半监督学习、无监督学习、分类器、聚类器、离群点检测器、预测器、损失函数、泛化、正则化等基本概念。
(2)扩展库sklearn常用模块与对象,如何选择合适的模型和算法。
(3)线性回归模型原理、sklearn中线性回归模型的简单应用、岭回归原理与sklearn实现、套索回归Lasso基本原理与sklearn实现、弹性网络基本原理与sklearn实现、使用线性回归模型预测儿童身高。
(4)朴素贝叶斯算法基本概念、朴素贝叶斯算法分类原理与sklearn实现、使用朴素贝叶斯算法对中文邮件进行分类。
(5)数据降维的作用,主成分分析基本原理。
(6)使用交叉验证评估模型泛化能力、使用网格搜索确定模型最佳参数。
七、考核方式及成绩评定标准
成绩评定标准:百分制
版权所有 ©2017 浙江工商大学继续教育学院 地址:杭州市保俶北路92号 浙ICP备05073962号 浙公网安备 33011802000512号