基于Python语言的网络数据挖掘试验参考指导书.doc
《基于Python语言的网络数据挖掘试验参考指导书.doc》由会员分享,可在线阅读,更多相关《基于Python语言的网络数据挖掘试验参考指导书.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Python语言网络数据挖掘实验指引书电子科技大学信息与软件工程学院二一四年6月一、 实验教学目和规定:实验目:本课程实验旨在加深学生对于网络大数据挖掘理解,培养学生分析、设计、实现基于Python语言网络数据挖掘算法,掌握科学实验办法,为后来其她专业课学习打下坚实基本。该实验内容采用循序渐进方式,从Python语言基本语法入手,在加深学生对于Python语言熟悉基本上突出数据挖掘应用。实验提供功能规定,学生自己拟定设计方案和需要思考如何设计最优化算法,并完毕成果记录和分析,充分发挥学生创造性和积极性。实验规定:理解并掌握Python语言基本语法、可以使用Python读取或写入数据表、获取
2、并分析网络文本数据、获取并解决图像数据等。二、 Python开发环境简介:本课程实验使用Python开发环境为Python IDLE,其顾客界面图见图1所示。IDLE是开发python程序基本集成开发环境,具备基本IDE功能,是Python教学不错选取。当安装好python后来,IDLE就自动安装好了,不需要此外去找。同步,使用Eclipse这个强大框架时IDLE也可以非常以便调试Python程序。其基本功能涉及语法加亮、段落缩进、基本文本编辑、TABLE键控制、调试程序。打开 Idle 后浮现一种增强交互命令行解释器窗口(具备比基本交互命令提示符更好剪切、粘贴、回行等功能)。除此之外,尚有一
3、种针对 Python 编辑器(无代码合并,但有语法标签高亮和代码自动完毕功能)、类浏览器和调试器。菜单为 TK “剥离”式,也就是点击顶部任意下拉菜单虚线将会将该菜单提高到它自己永久窗口中去。特别是 Edit 菜单,将其“靠”在桌面一角非常实用。Idle 调试器提供断点、步进和变量监视功能。图1 Python IDLE界面图三、 实验项目名称及目规定:实验项目1 Python语言基本语法及简朴应用1、实验目1) 掌握Python语言基本语法2) 掌握Python语言中创立模块办法3) 理解Python语言中定义类及其用法4) 学习使用Python语言输出斐波那契数列办法5) 学习使用Pytho
4、n语言实现删除一种list里面重复元素办法2、实验内容1)依照Python基本语法功能设计出实现输出斐波那契数列办法,并比较不同实现办法性能。2)依照Python语言中排序和循环功能,实现删除一种list里面重复元素3、实验原理1) 设计输出斐波那契数列Python程序:一方面调用raw_input输入要打印斐波那契数列长度,然后把斐波那契数列存储于一种序列当中,并逐个打印序列元素。此实验某些实当代码如下#通过输入斐波那契数列长度打印斐波那契数列 FibonacciUptoNumer = int(raw_input(Please input a Fibonacci Series up to N
5、umber :)n = FibonacciUptoNumerfibs = 0,1for number in range(n): fibs.append(fibs-2 + fibs-1)2) 设计删除一种list里面重复元素程序:一方面调用List.sort()对序列进行排序,然后调用last = List-1语句从后向前找出重复元素,并逐个打印非重复元素。此实验某些实当代码如下if List:List.sort()last = List-1for i in range(len(List)-2,-1,-1): if last=Listi:del Listi else:last=Listiprin
6、t List4、 实验环节1)设计输出斐波那契数列Python程序l 分析实验规定l 逐个打印输出斐波那契数列元素l 记录程序代码l 记录并分析实验成果2)设计程序删除一种list里面重复元素l 分析实验规定l 对list进行排序l 从后向前查找并删除list中重复元素l 记录程序代码l 记录并分析实验成果实验项目2 使用Python读写Excel数据1、实验目1)强化Python程序设计和编程能力2)学习两种读取Excel数据办法3)学习写入Excel数据办法4)掌握如何读写其她格式数据办法5)掌握如何比较不同读写办法运算性能2、实验内容1)用xlrd模块中open_workbook实现打开
7、Excel数据表,并设计使用索引和名称两种办法读取Excel数据,最后写入csv文献中。2)用datetime模块中datetime.now来计算两种不同读取办法所用CPU时间,从而比较并分析不同算法性能。3、实验原理1)Python语句读取Excel表数据时,一方面要调用xlrd模块,然后使用语句data = xlrd.open_workbook(excelFile.xls)打开Excel表格。当一种Excel表格中包括各种Sheet时,可以通过索引或者名称顺序获取某一种Sheet中数据。使用语句分别为table = data.sheet_by_index(0)和table = data.s
8、heet_by_name(uSheet1)。当获取某个Sheet数据并存储在工作表table后,获取获取整行和整列值(数组)语句为table.row_values(i)和table.col_values(i),获取行数和列数语句为nrows = table.nrows和ncols = table.ncols,循环获取行数据语句为for i in range(nrows):print table.row_values(i)。此实验某些实当代码如下#依照索引获取Excel表格中数据def excel_table_byindex(file= abc.xls,colnameindex=0,by_ind
9、ex=0): data = open_excel(file) table = data.sheets()by_index nrows = table.nrows #行数 colnames = table.row_values(colnameindex) #某一行数据 list = for rownum in range(1,nrows): row = table.row_values(rownum) if row: app = for i in range(len(colnames): appcolnamesi = rowi list.append(app) return listdef ex
10、cel_table_byname(file= abc.xls,colnameindex=0,by_name=abc): data = open_excel(file) table = data.sheet_by_name(by_name) nrows = table.nrows #行数 colnames = table.row_values(colnameindex) #某一行数据 list = for rownum in range(1,nrows): row = table.row_values(rownum) if row: app = for i in range(len(colnam
11、es): appcolnamesi = rowi list.append(app) return list在该实验中,学生需用前述Excel数据操作语句实现读取某一种Sheet数据功能,并在此基本上,思考如何读取其她格式数据,记录Python代码,并分析实验成果。2)Python语句写入Excel表数据时,一方面要调用pyExcelerator模块,然后使用语句w = Workbook()和ws = w.add_sheet(excelFile.xls)创立一种空白工作表。在某一种cell写入数据语句为ws.write (i,j,string),而w.save(mini.xls)实现了存储写入后
12、Excel文献。此实验某些实当代码如下from pyExcelerator import *w = Workbook() #创立一种工作簿ws = w.add_sheet(test) #创立一种工作表ws.write(0,0,uestc) #在1行1列写入uestcws.write(0,1,Sofrware) #在1行2列写入Softwarews.write(1,0,cs) #在2行1列写入csw.save(mini.xls) #保存至mini.xls文献中在该实验中,学生需用前述Excel数据操作语句实现写入某一种Sheet数据功能,并在此基本上,思考如何写入其她格式数据(如csv格式),记
13、录Python代码,并分析实验成果。3)比较两种不同读取Excel数据办法时,需要计算每种办法运营时间。一方面导入datetime模块,并调用datetime.now()函数,记录某一段代码运营先后时间点,通过开始和结束时间点差值计算出程序运营时间。此实验某些实当代码如下starttime = datetime.datetime.now()tables = excel_table_byindex()for row in tables: print rowendtime = datetime.datetime.now()print endtime - starttime starttime =
14、datetime.datetime.now()tables = excel_table_byname()for row in tables: print rowendtime = datetime.datetime.now()print endtime - starttime在该实验中,学生需用前述CPU时间控制语句实现计算某一段代码运算时间,并在此基本上,比较并分析两种Excel数据读取办法性能。记录Python代码,并分析实验成果。4、 实验环节1)设计按名称和按索引读取Excel数据程序l 分析实验规定l 按行打印Excel表中数据l 记录程序代码l 记录并分析实验成果2)设计写入Exc
15、el数据程序l 分析实验规定l 按行将数据写入Excel表中l 记录程序代码l 记录并分析实验成果3)设计计算程序运营时间程序l 分析实验规定l 记录程序代码l 比较并分析实验成果l 总结,撰写实验报告实验项目3 使用Python实现网络爬虫算法1、实验目1)强化Python程序设计和编程能力2)学习网络爬虫算法原理3)学习使用Python语言实现网络爬虫算法2、实验内容1)理解网络爬虫算法原理,并设计使用Python语言获取网页数据程序。2)用Python语言中threading和GetUrl模块对网站中URL进行收集。3、实验原理1) 爬虫算法原理:网络爬虫(又被称为网页蜘蛛,网络机器人,
16、网页追逐者),是一种按照一定规则,自动抓取万维网信息程序或者脚本。诸多搜索引擎都使用爬虫提供最新数据,搜索引擎运用顾客访问过页面一种副本进行索引,以提供迅速访问。网络爬虫也可以在web上用来自动执行某些任务,例如检查链接,确认html代码;也可以用来抓取网页上某种特定类型信息,例如抓取电子邮件地址。本实验中使用网络爬虫算法是广度优先搜索(BFS)。广度优先搜索方略是指在抓取过程中,在完毕当前层次搜索后,才进行下一层次搜索。有诸多研究将广度优先搜索方略应用于聚焦爬虫中。其基本思想是以为与初始URL在一定链接距离内网页具备主题有关性概率很大。此外一种应用是将广度优先搜索与网页过滤技术结合使用,先用
17、广度优先方略抓取网页,再将其中无关网页过滤掉。这些办法缺陷在于,随着抓取网页增多,大量无关网页将被下载并过滤,算法效率将变低。2)Python语句在某一种网页上获取数据时,一方面要分析网页HTML源代码,咱们以淘宝网页中商品分类()为例,获取所有一级类别和二级类别标题。本实验中要调用urllib2和sgmllib.SGMLParser模块,并使用语句content = urllib2.urlopen(网页URL).read()来获取网页内容。并使用list.feed(content)语句将网页内容存入列表,进行解决。此实验某些实当代码如下class ListName1(SGMLParser):
18、def _init_(self):SGMLParser._init_(self)self.is_h4 = self.name = def start_h4(self,attrs):self.is_h4 = 1def end_h4(self):self.is_h4 = def handle_data(self,text):if self.is_h4 = 1:self.name.append(text)class ListName2(SGMLParser):def _init_(self):SGMLParser._init_(self)self.is_h5 = self.name = def st
19、art_h5(self,attrs):self.is_h5 = 1def end_h5(self):self.is_h5 = def handle_data(self,text):if self.is_h5 = 1:self.name.append(text)content = urllib2.urlopen().read()listname1 = ListName1()listname2 = ListName2()listname1.feed(content)listname2.feed(content)在该实验中,学生需用前述爬虫算法实现语句实现写入读取淘宝网页商品分类标题功能,并在此基本
20、上,思考如何实现读取其她网页数据办法,记录Python代码,并分析实验成果。3)在获取网站上URL时,需要调用GetUrl模块。本实验中通过调用threading 模块采用多线程算法实现网站URL获取。此实验某些实当代码如下def Craw(self,entryUrl): #这是一种深度搜索,到g_toDlUrl为空时结束 g_toDlUrl.append(entryUrl) self.logfile.write(Entry:n) self.logfile.write(entryUrl) depth = 0 while len(g_toDlUrl) != 0 and depth Depth +
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Python 语言 网络 数据 挖掘 试验 参考 指导书
限制150内