于敏
中国建筑第五工程局有限公司 湖南省长沙市 410004
摘要:大数据就是指数字科学,它是以数据为研究对象的,对各个领域中所出现的数据问题进行探讨与研究,找到这些科学领域内各数据之间存在的内在联系进行分析,并发掘去规律。为科学领域中出现了各种难题提供解决思路与对策。并且大数据并将是数据科学研究库同时还是一个技术平台。它能通过这个平台对大数据进行采集、初步处理以及储存管理等工作,而在这个平台之中,科学技术就是体现大数据价值的重要表现,同时也是支撑大数据发展的根本所在,它能够支撑大数据完成从数据采集到结果形成整个过程的工作。除此之外大数据还能够帮助使用者,找到问题的本质,使人们透过问题的表象看到问题的本质所在,由此可以看出,大数据具有十分丰富的发展潜力与潜能。为了能够跟紧大数据时代发展的脚步,我们必须要有能够适应时代发展的“大数据思维”。基于此,本文提出一种基于Python的数据采集方案,分析web大数据采集的原理,提出以Python工具为辅助的数据分析方法。
关键词:Python、大数据、web、数据分析
引言:互联网的出现给人们的生活和工作带来了巨大的改变,但是由于互联网的多样化与网页信息的复杂化特点,很多数据信息都被镶嵌到了web中,web中的数据量也在不断的增长,人类开始走向了大数据时代的发展,web的数据获取方式有很多种,分别是本体数据获取;基于一定规律或者是地理位置的数据分区;还有基于网站查询的数据获取方式等。使用科学、有效的方式可以将海量信息数据中自己需要的信息提取出来,并挖掘数据的潜在价值,使其价值得到体现。
1 web数据抓取技术介绍
1web数据抓取
Web数据抓取也就是web scraping技术,就是指通过在网络上提取与某一信息相关的数据,这一数据也被称之为模拟浏览器行为,将浏览器中显示的数据信息进行提炼。因此这项技术也被称之为是“屏幕抓取”。Web数据抓取技术应用的最终目的,就是将这些结构化的信息,从信息量庞大的网页中抓取出来,web数据采集实质上就是将网站上非结构化的数据信息,在经过一系列的分析出来之后,将其保存为统一格式的文档,并将其传输到云端或者是硬盘之中。
web scraping 的作用
该技术可以运用子计算机程序,将网页信息中的数据摘取下俩,并将其保存在一个统一的各数文档中,这整个操作过程把那个不需要人工参与,工作效率十分高。在实际的信息获取操作过程中,其工作效率甚至高于浏览器的工作效率。因为浏览器在完成这一过程时,需要下载HTML数据以及与之相关的格式文件,还需要启动渲染引擎对网络数据进行排列,运行相关的代码等,但是程序提取技术在应用时,就只需要下载HTML数据即可完成程序操作,可以大大减少下载程序和文件的时间。并且程序的自动化效率要远远高于人工操作,传统人工操作的方式,可能会出现数据错误或者是遗漏的情况,并且排查难度十分高,但是程序抓取技术的精确度就非常之高,即便是在信息获取是出现了错误,也可以通过修改程序的方式,将错误纠正。
2基于Python的web数据采集的实现
技术原理
Python是一种面向对象直接翻译的计算机程序设计语言,采用HTTP模块urllib2来替代web服务器信息交互程序,使用cookielib模块来替代cookie管理功能,采用XPath来实现数据信息进行HTML解析程序,由此我们可以看到web数据抓取技术的所有功能模块都可以利用Python工具来实现,并且在应用Python工具之后,可以实现用最少的代码技术来实现数据采集的所有功能模块。
HTTP交互模块
在Python的数据库中,包含有urllib2模块,这个模块可以为HTTP通信协议的工作提供相应的数据支撑。这一模块可以替代HTTP通讯协议的代理、认证、跳转与cookie功能等。同时还能对HTTP报文请求中的信息整改程序提供数据支撑,实现对报告内容的读取。urllib2 URLopen是具备有HTTP的应答处理以及请求构造功能的,其中URL参数主要是为数据资源的下载提供路径的作用。如果data是空白的,那么就表示需要发出一个GET请求,请求内容中不包含实体。如果data参数是作为一个非时空参数存在的,那么就表示需要发送一个实体请求。如果Timeout参数发出请求的时间超时了,那么urllib2、URLopen在调动的过程中,就会呈现以下两种情况:
HTTP错误
如果是因为web服务器故障或者是网络故障所导致的请求超时问题,那么就会出现错误的代码。并且ur11ib2和URLopen的运行也会出现异常,可以这时可以通过异常出现的类型来判别错误的类型;
没有HTTP错误
没有HTTP错误。此时的urllib2、URLopen会返回类似文件对象,通过调动对象的read方法即可获取所反馈的报文内容。如果是反馈数据是以gzip 压缩包传输方法,这次过程中还需要采用gzip解码。
HTML解析模块
采用HTML. 交互模块即可获取网页数据,但初级采集的数据更为粗糙,字符编码也较为混乱,整体上不如XML规范。这就需要对文档字符进行编码,采用<head>当中的content-type元获取。之后再把其解码成Unicode类型,其主要的目的是保证后期所读取的编码一-致,这样可以提高数据存储的便捷性。
结束语:Python工具在实际使用中,具有十分强的可读性特点,并且程序操作简单、便捷,维护也十分的方便,具有强大的数据库资源,对于web数据采集与分析技术而言具有非常强的便捷性,
参考文献:
[1]董恩康.大数据的计量数据采集与应用分析[J].网络安全技术与应用,2020(11):75-76.
[2]任喜涛,王健.基于大数据采集分析技术的企业营销创新研究[J].中国市场,2020(31):116-120.
[3]韩帅康,江涛,张顺.大数据评论采集分析系统的设计与实现[J].电脑知识与技术,2020,16(04):35-37.
[4]徐川子, 基于大数据分析的用电信息采集全过程运维技术研究与应用. 浙江省,国网浙江杭州市富阳区供电有限公司,2019-11-30.
[5]肖乐,丛天伟,严卫.基于python的Web大数据采集和数据分析[J].电脑知识与技术,2018,14(22):9-11.