ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:277.54KB ,
资源ID:2510035      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2510035.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于Python语言的网络数据挖掘试验参考指导书.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于Python语言的网络数据挖掘试验参考指导书.doc

1、 《基于Python语言网络数据挖掘》实验指引书 电子科技大学信息与软件工程学院 二○一四年6月 一、 实验教学目和规定: 实验目: 本课程实验旨在加深学生对于网络大数据挖掘理解,培养学生分析、设计、实现基于Python语言网络数据挖掘算法,掌握科学实验办法,为后来其她专业课学习打下坚实基本。该实验内容采用循序渐进方式,从Python语言基本语法入手,在加深学生对于Python语言熟悉基本上突出数据挖掘应用。实验提供功能规定,学生自己拟定设计方案和需要思考如何设计最优化算法,并完毕成果记录和分析,充分发挥学生创造性和积

2、极性。 实验规定: 理解并掌握Python语言基本语法、可以使用Python读取或写入数据表、获取并分析网络文本数据、获取并解决图像数据等。 二、 Python开发环境简介: 本课程实验使用Python开发环境为Python IDLE,其顾客界面图见图1所示。IDLE是开发python程序基本集成开发环境,具备基本IDE功能,是Python教学不错选取。当安装好python后来,IDLE就自动安装好了,不需要此外去找。同步,使用Eclipse这个强大框架时IDLE也可以非常以便调试Python程序。其基本功能涉及语法加亮、段落缩进、基本文本编辑、TABLE键控制、调试程序。 打开 I

3、dle 后浮现一种增强交互命令行解释器窗口(具备比基本交互命令提示符更好剪切、粘贴、回行等功能)。除此之外,尚有一种针对 Python 编辑器(无代码合并,但有语法标签高亮和代码自动完毕功能)、类浏览器和调试器。菜单为 TK “剥离”式,也就是点击顶部任意下拉菜单虚线将会将该菜单提高到它自己永久窗口中去。特别是 "Edit" 菜单,将其“靠”在桌面一角非常实用。Idle 调试器提供断点、步进和变量监视功能。 图1 Python IDLE界面图 三、 实验项目名称及目规定: 实验项目1 Python语言基本语法及简朴应用 1、实验目 1) 掌握Python语言基本语法 2) 掌

4、握Python语言中创立模块办法 3) 理解Python语言中定义类及其用法 4) 学习使用Python语言输出斐波那契数列办法 5) 学习使用Python语言实现删除一种list里面重复元素办法 2、实验内容 1)依照Python基本语法功能设计出实现输出斐波那契数列办法,并比较不同实现办法性能。 2)依照Python语言中排序和循环功能,实现删除一种list里面重复元素 3、实验原理 1) 设计输出斐波那契数列Python程序:一方面调用raw_input输入要打印斐 波那契数列长度,然后把斐波那契数列存储于一种序列当中,并逐个打印序列元素。 此实验某些实当代码如下

5、通过输入斐波那契数列长度打印斐波那契数列 FibonacciUptoNumer = int(raw_input('Please input a Fibonacci Series up to Number :')) n = FibonacciUptoNumer fibs = [0,1] for number in range(n): fibs.append(fibs[-2] + fibs[-1]) 2) 设计删除一种list里面重复元素程序:一方面调用List.sort()对序列进行排序, 然后调用last = List[-1]语句从后向前找出重复元素,并逐个打

6、印非重复元素。 此实验某些实当代码如下 if List: List.sort() last = List[-1] for i in range(len(List)-2,-1,-1): if last==List[i]:del List[i] else:last=List[i] print List 4、 实验环节 1)设计输出斐波那契数列Python程序 l 分析实验规定 l 逐个打印输出斐波那契数列元素 l 记录程序代码 l 记录并分析实验成果 2)设计程序删除一种list里面重复元素 l 分析实验规定 l 对list进行排序 l 从后向前

7、查找并删除list中重复元素 l 记录程序代码 l 记录并分析实验成果 实验项目2 使用Python读写Excel数据 1、实验目 1)强化Python程序设计和编程能力 2)学习两种读取Excel数据办法 3)学习写入Excel数据办法 4)掌握如何读写其她格式数据办法 5)掌握如何比较不同读写办法运算性能 2、实验内容 1)用xlrd模块中open_workbook实现打开Excel数据表,并设计使用索引和名称两种办法读取Excel数据,最后写入csv文献中。 2)用datetime模块中datetime.now来计算两种不同读取办法所用CPU时间,从而比较并分

8、析不同算法性能。 3、实验原理 1)Python语句读取Excel表数据时,一方面要调用xlrd模块,然后使用语句data = xlrd.open_workbook('excelFile.xls')打开Excel表格。 当一种Excel表格中包括各种Sheet时,可以通过索引或者名称顺序获取某一种Sheet中数据。使用语句分别为table = data.sheet_by_index(0)和table = data.sheet_by_name(u'Sheet1')。 当获取某个Sheet数据并存储在工作表table后,获取获取整行和整列值(数组)语句为table.row_values(i

9、)和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_index=0): data = open_excel(file) table = data.sheets()[by_index]

10、 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)): app[colnames[i]] = row[i

11、] list.append(app) return list def excel_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

12、 rownum in range(1,nrows): row = table.row_values(rownum) if row: app = {} for i in range(len(colnames)): app[colnames[i]] = row[i] list.append(app) return list 在该实验中,学生需用前述Excel数据操作语句实现读取某一种Sheet数据功能,并在此基本上,思考如何读取其

13、她格式数据,记录Python代码,并分析实验成果。 2)Python语句写入Excel表数据时,一方面要调用pyExcelerator模块,然后使用语句w = Workbook()和ws = w.add_sheet('excelFile.xls')创立一种空白工作表。在某一种cell写入数据语句为ws.write (i,j,'string'),而w.save('mini.xls')实现了存储写入后Excel文献。 此实验某些实当代码如下 from pyExcelerator import * w = Workbook() #创立一种工作簿 ws = w.add_sheet('

14、test') #创立一种工作表 ws.write(0,0,'uestc') #在1行1列写入uestc ws.write(0,1,'Sofrware') #在1行2列写入Software ws.write(1,0,'cs') #在2行1列写入cs w.save('mini.xls') #保存至mini.xls文献中 在该实验中,学生需用前述Excel数据操作语句实现写入某一种Sheet数据功能,并在此基本上,思考如何写入其她格式数据(如csv格式),记录Python代码,并分析实验成果。 3)比较两种不同读取Excel数据办法时,需要计算每种办法运营时间

15、一方面导入datetime模块,并调用datetime.now()函数,记录某一段代码运营先后时间点,通过开始和结束时间点差值计算出程序运营时间。 此实验某些实当代码如下 starttime = datetime.datetime.now() tables = excel_table_byindex() for row in tables: print row endtime = datetime.datetime.now() print endtime - starttime starttime = datetime.datetime.now() tab

16、les = excel_table_byname() for row in tables: print row endtime = datetime.datetime.now() print endtime - starttime 在该实验中,学生需用前述CPU时间控制语句实现计算某一段代码运算时间,并在此基本上,比较并分析两种Excel数据读取办法性能。记录Python代码,并分析实验成果。 4、 实验环节 1)设计按名称和按索引读取Excel数据程序 l 分析实验规定 l 按行打印Excel表中数据 l 记录程序代码 l 记录并分析实验成果 2)设计写入Ex

17、cel数据程序 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进行收集

18、 3、实验原理 1) 爬虫算法原理: 网络爬虫(又被称为网页蜘蛛,网络机器人,网页追逐者),是一种按照一定规则,自动抓取万维网信息程序或者脚本。诸多搜索引擎都使用爬虫提供最新数据,搜索引擎运用顾客访问过页面一种副本进行索引,以提供迅速访问。网络爬虫也可以在web上用来自动执行某些任务,例如检查链接,确认html代码;也可以用来抓取网页上某种特定类型信息,例如抓取电子邮件地址。 本实验中使用网络爬虫算法是广度优先搜索(BFS)。广度优先搜索方略是指在抓取过程中,在完毕当前层次搜索后,才进行下一层次搜索。有诸多研究将广度优先搜索方略应用于聚焦爬虫中。其基本思想是以为与初始URL在一定链接

19、距离内网页具备主题有关性概率很大。此外一种应用是将广度优先搜索与网页过滤技术结合使用,先用广度优先方略抓取网页,再将其中无关网页过滤掉。这些办法缺陷在于,随着抓取网页增多,大量无关网页将被下载并过滤,算法效率将变低。 2)Python语句在某一种网页上获取数据时,一方面要分析网页HTML源代码,咱们以淘宝网页中商品分类()为例,获取所有一级类别和二级类别标题。 本实验中要调用urllib2和sgmllib.SGMLParser模块,并使用语句content = urllib2.urlopen('网页URL').read()来获取网页内容。并使用list.feed(content)语句将网页

20、内容存入列表,进行解决。 此实验某些实当代码如下 class ListName1(SGMLParser): def __init__(self): SGMLParser.__init__(self) self.is_h4 = "" self.name = [] def start_h4(self,attrs): self.is_h4 = 1 def end_h4(self): self.is_h4 = "" def handle_data(self,text): if self.is_h4 == 1: self.name.appe

21、nd(text) class ListName2(SGMLParser): def __init__(self): SGMLParser.__init__(self) self.is_h5 = "" self.name = [] def start_h5(self,attrs): self.is_h5 = 1 def end_h5(self): self.is_h5 = "" def handle_data(self,text): if self.is_h5 == 1: self.name.append(text) co

22、ntent = urllib2.urlopen('').read() listname1 = ListName1() listname2 = ListName2() listname1.feed(content) listname2.feed(content) 在该实验中,学生需用前述爬虫算法实现语句实现写入读取淘宝网页商品分类标题功能,并在此基本上,思考如何实现读取其她网页数据办法,记录Python代码,并分析实验成果。 3)在获取网站上URL时,需要调用GetUrl模块。本实验中通过调用threading 模块采用多线程算法实现网站URL获取。 此实验某些实当代码如下 d

23、ef 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 de

24、pth <= self.Maxdepth: depth += 1 print 'Searching depth ',depth,'...\n\n' self.downloadAll() self.updateToDl() content = '\n>>>Depth ' + str(depth)+':\n' self.logfile.write(content)

25、 i = 0 while i < len(g_toDlUrl): content = str(g_totalcount + i + 1) + '->' + g_toDlUrl[i] + '\n'

26、 self.logfile.write(content) i += 1 class CrawlerThread(threading.Thread): def __init__(self,url,fileName): threading.Thread.__init__(self) self.url = url #本线程下载url self.fileName = fileName

27、 def run(self): #线程工作-->下载html页面 global g_mutex global g_failedUrl global g_dledUrl try: f = urllib.urlopen(self.url) s = f.read() fout = file(self.fileName,'w') fout.write(s)

28、fout.close() except: g_mutex.acquire() #线程锁-->锁上 g_dledUrl.append(self.url) g_failedUrl.append(self.url) g_mutex.release() #线程锁-->释放 print 'Failed downloading and saving',self.url return None

29、 #记着返回! g_mutex.acquire() #线程锁-->锁上 g_pages.append(s) g_dledUrl.append(self.url) g_mutex.release() #线程锁-->释放 在该实验中,学生需用上述网络爬虫算法和多线程控制语句实现获取某一网站所有URL程序,并在此基本上,比较并分析采用不同线程数时算法性能。记录Python代码,并分析实验成果。 4、实验环节 1)设计某一种网页上获取数据程序 l 分析实验规定 l 打印网

30、页上获取数据 l 记录程序代码 l 记录并分析实验成果 2)设计多线程获取网站URL程序 l 分析实验规定 l 打印网站上有关URL l 比较不同线程数算法性能 l 记录程序代码 l 记录并分析实验成果 实验项目4 使用Python获取社交网络数据 1、实验目 1)强化Python程序设计和编程能力 2)学习社交网络OAUTH合同原理 3)学习使用Python语言获取社交网络数据 2、实验内容 1)理解社交网络OAUTH合同原理,并学习获取CONSUMER_KEY、CONSUMER_SECRET、USER_TOKEN、USER_SECRET办法。 2)用Py

31、thon语言中Json、OS、Linkedin模块对LinkedIn网站中联系人名单进行收集。 3、实验原理 1)社交网络OAUTH合同原理: OAUTH合同为顾客资源授权提供了一种安全、开放而又简易原则。与以往授权方式不同之处是OAUTH授权不会使第三方触及到顾客帐号信息(如顾客名与密码),即第三方无需使用顾客顾客名与密码就可以申请获得该顾客资源授权,因而OAUTH是安全。 本实验中Linkedin网站OAUTH合同是采用HMAC-SHA1加密。开发者需要注册LinkedIn账户,获得CONSUMER_KEY(即API Key) 和CONSUMER_SECRET。KEY跟SECRET

32、使用方式跟其她某些合同中公钥私钥方案相类似,你可以使用你所熟悉编程语言将KEY和SECRET结合,为你发出每个祈求添加签名,以此来向Linkedin开放平台表白自己身份合法性。然后依照CONSUMER_KEY和CONSUMER_SECRET获取USER_TOKEN和USER_SECRET。这个环节重要有两个目:第一,告诉Linkedin将要做什么;第二,告诉Linkedin在callback里要做什么。此外,USER_TOKEN和USER_SECRET可以协助提供ACCESS TOKEN。 实当代码如下: access_token_url = '' token=oauth.Token(r

33、equest_token['oauth_token'], request_token['oauth_token_secret']) token.set_verifier(oauth_verifier) client = oauth.Client(consumer,token) resp,content = client.request(access_token_url,"POST") access_token = dict(urlparse.parse_qsl(content)) print "Access Token:" print " - oauth_token = %s"

34、 access_token['oauth_token'] print " - oauth_token_secret = %s" % access_token['oauth_token_secret'] print print "You may now access protected resources using the access tokens above." Print 在该实验中,学生需用前述OAUTH合同原理实现获取Linkedin社交网络ACCESS TOKEN,并在此基本上,思考如何实现读取其她社交网络(如新浪微博)ACCESS TOKEN办法,记录Python代码

35、并分析实验成果。 2)Python语句获取社交网站顾客信息时,一方面要获得ACCESS TOKEN,然后调用os.path.join语句将顾客有关信息存储到CSV或者XLS文献中,最后调用PrettyTable模块打印顾客信息表。 此实验某些实当代码如下 # Instantiate the developer authentication class auth=linkedin.LinkedInDeveloperAuthentication(CONSUMER_KEY,CONSUMER_SECRET,USER_TOKEN,USER_SECRET,RETURN_URL,permissio

36、ns=linkedin.PERMISSIONS.enums.values()) # Pass it in to the app... app = linkedin.LinkedInApplication(auth) # Use the app... app.get_profile() import json import os connections = app.get_connections() connections_data = os.path.join("C:/","Users","顾客名","Desktop","save.csv") f = open(connect

37、ions_data,'w') f.write(json.dumps(connections,indent=1)) f.close() from prettytable import PrettyTable # pip install prettytable pt = PrettyTable(field_names=['Name','Location']) pt.align = 'l' [ pt.add_row((c['firstName'] + ' ' + c['lastName'],c['location']['name'])) for c in connections[

38、'values'] if c.has_key('location')] 在该实验中,学生需用前述社交网络信息获取语句实现授权顾客LinkedIn联系人信息,并在此基本上,思考如何实现获取其她社交网络(微博)顾客信息办法,记录Python代码,并分析实验成果。 4、实验环节 1)设计社交网络授权顾客ACCESS TOKEN程序 l 分析实验规定 l 记录程序代码 2)设计社交网络授权顾客联系人信息程序 l 分析实验规定 l 打印授权顾客联系人信息 l 导入授权顾客联系人信息 l 记录程序代码 l 记录并分析实验成果 实验项目5 使用Python记录分析社

39、交网络数据 1、实验目 1)强化Python程序设计和编程能力 2)学习社交网络数据清洗和数据记录分析办法 3)学习使用Python语言记录分析社交网络数据 2、实验内容 1)学习社交网络中联系人职位、公司、年龄等信息数据清洗和记录分析办法。 2)用Python语言中Counter、itemgetter等模块对LinkedIn网站中联系人名单信息进行初步记录分析。 3、实验原理 1)数据清洗: 数据清洗是指发现并纠正数据文献中可辨认错误,涉及检查数据一致性,解决无效值和缺失值等。由于数据仓库中数据是面向某一主题数据集合,这些数据从各种业务系统中抽取而来并且包括历史数据,这样

40、就避免不了有数据是错误数据、有数据互相之间有冲突,这些错误或有冲突数据显然是咱们不想要,称为“脏数据”。咱们要按照一定规则把脏数据清除,这就是数据清洗。而数据清洗任务是过滤那些不符合规定数据,将过滤成果交给业务主管部门,确认与否过滤掉还是由业务单位修正之后再进行抽取。不符合规定数据重要是有不完整数据、错误数据、重复数据三大类。 本实验中使用数据来源是Linkedin网站中联系人信息,需要清洗数据重要是由于数据名称不统一导致。例如,联系人公司中诸多都带有后缀Inc.,Co.等,联系人职位中诸多带有Prof.,Dr.等,这些信息在记录时会有干扰作用。例如IBM Inc.和IBM代表都是IBM公司

41、但程序在进行记录分析时会误以为是两个不同公司。 实当代码如下: transforms = [(',Inc.',''),(',Inc',''),(',LLC',''),(',LLP',''),(' LLC',''),(' Inc.',''),(' Inc','')] csvReader = csv.DictReader(open(CSV_FILE),delimiter=',',quotechar='"') contacts = [row for row in csvReader] companies = [c['Company'].strip() for c in contacts

42、if c['Company'].strip() != ' '] for i,_ in enumerate(companies): for transform in transforms: companies[i] = companies[i].replace(*transform) 在该实验中,学生需用前述数据清洗办法实现对Linkedin社交网络联系人信息进行数据清洗,并在此基本上,思考如何实现清洗其她社交网络(如新浪微博)联系人信息办法,记录Python代码,并分析实验成果。 2)Python语句分析清洗后社交网站联系人信息时,一方面要调用Counter模

43、块语句将联系人有关信息进行记录,并调用PrettyTable模块将联系人信息存储在表中,最后调用print语句按照降序打印顾客信息表。 此实验某些实当代码如下 pt = PrettyTable(field_names=['Company','Freq']) pt.align = 'c' c = Counter(companies) [pt.add_row([company,freq]) for (company,freq) in sorted(c.items(),key=itemgetter(1),reverse=True) if freq > 0] print pt

44、 titles = [c['Job Title'].strip() for c in contacts if c['Job Title'].strip() != ' '] for i,_ in enumerate(titles): for transform in transforms: titles[i] = titles[i].replace(*transform) pt2 = PrettyTable(field_names=['Job Title','Freq']) pt2.align = 'c' c = Counter(titles) [pt

45、2.add_row([title,freq]) for (title,freq) in sorted(c.items(),key=itemgetter(1),reverse=True) if freq > 0] 在该实验中,学生需用前述记录分析办法分析LinkedIn联系人信息,并在此基本上,思考如何实现分析其她社交网络(微博)联系人信息办法,记录Python代码,并分析实验成果。 4、实验环节 1)设计社交网络数据清晰程序 l 分析实验规定 l 清洗网络中脏数据 l 记录程序代码 2)设计记录分析社交网络联系人信息程序 l 分析实验规定 l 记录并打印联系人列

46、表中信息数据 l 记录程序代码 l 记录并分析实验成果 实验项目6 使用Python大批量获取网络图片数据 1、实验目 1)强化Python程序设计和编程能力 2)理解大批量获取网络图片原理 3)学习使用Python语言批量获取网络图片 2、实验内容 1)理解大批量获取网络图片原理,并掌握批量获取网络图片办法。 2)用Python语言中urllib、urllib2等模块对图虫网站中图片进行批量下载,并存储在指定文献夹中。 3、实验原理 1)批量获取网络图片办法: 批量获取网络图片办法是通过解析网页HTML文献,运用正则表达式把源代码中图片地址过滤出来,从而依照过滤

47、出来图片地址下载网络图片。详细来说,批量获取网络图片办法分为三种,一是用微软提供扩展库win32com来操作IE,二是用seleniumwebdriver,三是用python自带HTMLParser解析。win32com可以获得类似js里面document对象,但文献是只读。selenium则提供了对Chrome,IE,FireFox等浏览器支持,每种浏览器均有execute_script和find_element_by_xx办法,可以以便执行js脚本(涉及修改元素)和读取html里面元素。局限性是selenium只提供对python2.6和2.7支持。HTMLParser则是需要自己写个类继

48、承基类,重写解析元素办法。 2)本实验中使用批量获取网络图片办法,属于第三种办法。一方面通过urllib2.urlopen(url).read().decode('utf-8')语句解析HTML文献,再使用re.findall将把源代码中图片地址过滤出来,最后使用urllib.urlretrieve(imgurl,target)语句将图片下载到指定途径文献夹中。 实当代码如下: #获取二级页面url def findUrl2(html): re1 = r'\d+/\d+/|http://\w+(?

49、html) url2lstfltr = list(set(url2list)) url2lstfltr.sort(key=url2list.index) #print url2lstfltr return url2lstfltr #获取html文本 def getHtml(url): html = urllib2.urlopen(url).read().decode('utf-8')#解码为utf-8 return html #下载图片到本地 def download(html_page ,pageNo): #定义文献夹名字 x = time.localtime(time.time()) foldername=str(x.__getattribute__("tm_year"))+"-"+str(x.__getattribute__("tm_mon"))+"-"+str(x.__getattribute__("tm_mday")) re2=r'+/f/.+\.jpg' imglist=re.findall(re2,html_page) print imglist download_img=None

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服