当前位置: 首页 > news >正文

国际婚恋网站排名网站建设费是宣传费用吗

国际婚恋网站排名,网站建设费是宣传费用吗,品牌网站制作方案,wordpress 站长工具源码文章目录 大数据采集概述1.互联网大数据与采集1.1互联网大数据来源1.社交媒体2.社交网络3.百科知识库4.新闻网站5.评论信息6.位置型信息 1.2 互联网大数据的特征1.大数据类型和语义更加丰富2.数据的规范化程度弱3.数据的流动性更大4.数据的开放性更好5.数据的来源更加丰富6.互联… 文章目录 大数据采集概述1.互联网大数据与采集1.1互联网大数据来源1.社交媒体2.社交网络3.百科知识库4.新闻网站5.评论信息6.位置型信息 1.2 互联网大数据的特征1.大数据类型和语义更加丰富2.数据的规范化程度弱3.数据的流动性更大4.数据的开放性更好5.数据的来源更加丰富6.互联网大数据的价值体现形式更加多样化 2 Python 爬虫大数据采集技术的重要性2.1大数据采集技术的重要性2.2互联网大数据的重要性2.3Python开发生态的重要性 3.爬虫技术研究及应用现状4爬虫技术的应用场景4.1采集型爬虫4.2监测型爬虫 5爬虫大数据采集的技术体系5.1技术体系构成5.2相关技术1.相关协议与规范2.Web信息提取技术3.典型应用中的数据获取技术4.网络爬虫的软件技术 5.3技术评价方法1.是否遵守Robots 协议2.友好爬虫请求技术3.高效采集技术4.对增量式采集的支持5.对动态页面的支持6.页面编码与语言处理能力7.主题相关度评估8.对分布式架构的支持9.可配置线程技术10.容错能力 6爬虫大数据采集与挖掘的合规性6.1.数据抓取权限6.2.爬虫的访问方式6.3.数据量与数据的使用 7爬虫大数据采集技术的展望1.HTTP 协议的升级2.IPv6的广泛应用3. HTML语言的发展4.新型网站架构的出现5. Web应用的推动6.行业规范的推动 大数据采集概述 1.互联网大数据与采集 1.1互联网大数据来源 广义的互联网大数据即包括各种互联网 Web 应用中不断累计产生出来的数据也包括Web后台的传统业务处理系统产生的数据。狭义的互联网大数据主要指基于互联网Web应用所产生的数据例如新闻信息、微博、网络论坛帖子、电商评论等。 在互联网大数据研究和应用中常见的数据来源有以下类型。 1.社交媒体 微博、网络论坛等各种社交平台已经成为人们聊天、分享信息、交换意见的重要场合不断地产生各种即时信息(User Generated Content,UGC)。这些数据体现了人们的观点、情绪、行为以及群体关注的热点、话题等许多信息。这些信息已经逐步被越来越多的机构重视用来进一步挖掘分析为提升客户服务、产品质量提供准确资料。 2.社交网络 社交网络主要来源于社交平台它更侧重于人际关系数据而社交媒体更侧重于内容也有很多文献资料并不太区分社交网络和社交媒体。著名学者尼古拉斯·克里斯塔基斯(Nicholas A. Christakis)和詹姆斯·富勒(James H. Fowler)撰写了《大连接》一书认为人与人之间甚至人与物之间、人与信息之间、人与自然之间都可以形成连接。现在人类社会进入了一个大连接时代来自于社交网络的连接数据已经被广泛应用成为互联网大数据中的重要组成部分。 3.百科知识库 大数据技术应用是一种基于经验数据的应用经验数据的质量、完整性和可得性对于大数据的成功实施非常重要。但是经验知识往往存在于每个人的大脑中其表达、存储并不是很容易的事。随着互联网应用的扩展出现了很多百科知识库例如百度百科、维基百科等。开放式的知识管理方式允许每个人对知识的正确性进行维护因此出现了一些高质量的百科知识库对于在大数据应用中进行知识获取、分析和推理具有重要价值。 4.新闻网站 新闻信息是互联网大数据另一个重要的组成部分涵盖社会新闻、科技新闻、国际新闻等。随着新闻发布机制的创新互联网上新闻信息发布的及时性提高一些个性化推送平台使得新闻的受众选择更加精准。各类新闻信息体现了当前各个领域的重要事件以及事件的演化过程因此为大数据的动态性和深度分析挖掘提供了很好的数据源和示例。 5.评论信息 股票评论、商品评论、酒店评论、服务质量评论等许多评论信息在互联网上广泛存在它们属于典型的短文本这类数据在大数据分析应用中具有典型的代表性是一种重要的大数据。其分析和处理方法不同于新闻信息之类的长文本互联网上的各类评论信息为相应的技术研究和应用开发提供了充足的数据。 6.位置型信息 —随着移动互联网应用的快速普及人们越来越习惯于在社交平台上进行签到移动社交平台通常也记录了人们移动的位置和轨迹。这类数据作为一种重要的大数据类型在大数据分析应用中具有较高价值因此也是值得关注的互联网大数据之一。 此外还有很多其他类型的互联网大数据这里就不一一列举了。 1.2 互联网大数据的特征 对于一般意义上的大数据而言特别是来自于OLTP联机事务处理的大数据通常认为其数据具有4V(Volume、Variety、Value、Velocity)、5V(Volume、Velocity、Variety, Veracity、Variability)或 7V(Volume、Velocity、 Vast Variety、Veracity,Value、Visualization)等特征。但是不管哪种一般都把数据的大容量、数据蕴含的价值、数据来源的多样化以及数据处理的快速化等特点作为大数据的基本特征。 互联网大数据除了具备这些基本特征外还有一些新特征归纳起来主要有互联网大数据开放性好、容易采集、数据类型丰富、数据量大、流动性大、来源多样化、弱规范性、非结构化数据多并且随着“互联网”国家战略的推进互联网大数据的价值体现具有多样化和广泛性。总之互联网大数据具备大数据的各种典型特征是进行大数据相关教学、科研和应用的重要数据来源。 其特征具体说明如下 1.大数据类型和语义更加丰富 互联网大数据的数据类型除了传统的基本数据类型以外还有文本型、音/视频、用户标签、地理位置信息、社交连接数据等。这些数据广泛存在于各类互联网应用中例如新闻网站上的新闻、网络论坛中的帖子、基于位置服务系统(LBS)中的经纬度信息以及微博中用户关注所形成的连接数据。 这种数据虽然本质上属于字符串、整型等基本数据类型但是它们经过重新整合已经形成了具有一定语义的数据单元例如从用户评论文本中可以引申出用户的情感、人格从用户的轨迹数据中可以引申出其活动规律等等。 2.数据的规范化程度弱 弱规范性的数据是人们表达灵活性的体现因此具有很高的研究价值在关系型数据为主的时代此类数据并不多见。由于互联网数据的动态性、交互性都比较强在信息传播作用下用户生成的信息通常也有很大的相似性。此外用户生成的信息是可以由用户控制的也就是用户可以在此后进行修改、删除。因此在采集互联网大数据时就可能会出现信息内容不一致性的情况。 此外互联网应用中对数据的校验并不是很严格甚至可能是用户自定义的这种数据规范化方式与OLTP预先定义的模式也完全不同。典型的是微博中的用户标签每个人可以根据自己的偏好设定自己的标签两个不同的标签可能具有相同的含义而相同的标签对不同用户来说可能有不同的含义。 3.数据的流动性更大 在OLTP中数据产生的速度取决于业务组织和规模除了银行、电信等大型的联机系统外OLTP数据流动性一般并不高数据生成速度也很有限。但是在互联网环境下越来越多的应用由于面对整个互联网用户群体而使得数据产生、数据流动性大大增强例如微博、LBS服务系统等这种流动性主要体现在信息传播、数据在不同节点之间的快速传递。这种特点也就决定了大数据分析技术要具备对数据流的高速处理能力挖掘算法要能够支持对数据流的分析技术平台要具备充足的并行处理能力。 4.数据的开放性更好 OLTP具有很强的封闭性但对于互联网大数据而言由于互联网应用架构本身具有去中心化的特点也就使得各种互联网应用中的数据在较大范围内是公开的可以自由获取。而且由于互联网应用的开放性特点对于用户的身份审查并不太严格用户之间进行数据共享和自由分享也就变得更加容易。 5.数据的来源更加丰富 随着智能终端的快速普及、通信网络的升级换代加快、智能技术和交互手段越来越丰富互联网应用程序形式将变得丰富多彩也将产生与以往不同的数据形式例如虚拟现实(VR)技术的应用就可能直接将人的真实表情数据、生理数据记录下来。此外云计算、物联网技术的出现带来了新的服务模式它们与互联网的结合也将极大地扩大互联网大数据来源。多种不同来源的数据以互联网为中心进行融合正符合了大数据的基本特征因此可以在这个基础上做更有效的分析和挖掘。 6.互联网大数据的价值体现形式更加多样化 随着“互联网”国家战略的推进互联网思维在各个行业得到运用互联网大数据与每个行业领域都存在结合点因此大数据的价值体现也就不会仅局限于互联网应用自身、例如互联网与出租车的结合使得基于互联网大数据的车流预测、路径规划更具有全局性。 互联网大数据与科学研究结合在一起也形成了目前颇具特色的研究范式。从以社会调查和试验为主要基础的社会科学领域逐渐过渡到以互联网为背景来构建自己的数据源例如很多的研究以微博、Twitter 中的用户行为数据为基础开展一些心理、情感方面的研究也凸显了互联网大数据价值的多样化。在新闻学、金融学、认知心理学、法学等众多领坡都体现了互联网大数据与各个学科领域结合的效用。 2 Python 爬虫大数据采集技术的重要性 Python爬虫大数据采集技术的重要性可以从大数据采集的重要性、互联网大数据的重要性以及 Python开发生态的重要性3个方面来分析。 2.1大数据采集技术的重要性 大数据处理过程通常涉及若干个重要环节包括数据采集、结构化处理、数据存储、分析挖掘、可视化、共享与交易等。数据采集是整个过程的开始如果没有数据后续的处理环节就无法进行。如果没有真正的大数据后续环节的处理技术就会退化成为当前已经成熟的普通数据挖掘应用技术。 从大数据的技术构架来看大数据采集处于整个架构的底层是整个架构的基础。大数据采集技术性能的好坏直接影响到数据采集的效率和数据的质量没有高性能的采集技术大数据的后续处理和研究开发就无从谈起。 2.2互联网大数据的重要性 互联网大数据能满足大数据技术教学的要求。当前金融、交通、医疗等具体领域中的大数据在研究和应用时遇到的主要问题有数据领域封闭、共享范围有限、数据量少、静态数据偏多、缺乏动态机制、数据类型过于单一、应用价值很有限等。 随着互联网应用的广泛普及越来越多的数据将出现在互联网上。社交媒体、网络论坛等网络应用时刻产生各种用户数据这些数据反映了网络用户的行为特征、语言特征、群体特征等具有很高的研究和应用价值。此外“互联网”国家战略的实施将深刻影响今后很长时间内的社会发展越来越多的机构将互联网作为与客户交互、创造新业务模式的途径各领域的数据也将会越来越多出现在互联网上。因此互联网大数据在大数据技术研究、教学、应用和开发中的重要性就非常凸显将互联网大数据作为大数据技术研究和应用开发的一种数据源是非常合适的解决了当前大数据研究应用存在的无米之炊的局面。 2.3Python开发生态的重要性 近年来Python语言逐步成熟众多的开源软件和插件极大地丰富了Python的开发生态。这些Python开源软件和插件涵盖科学计算、语言处理、文本挖掘、图像处理等极大地方便了开发人员进行各种开发因此得到了越来越多开发人员的追捧。 Python已经从各种计算机编程语言中脱颖而出成为一种有前途的语言和开发环境而爬虫系统作为一种重要的互联网大数据采集手段系统的设计、实现和构建选择合适的语言将有助于整个大数据技术构架的集成化程度的提升。因此选择Python语言进行互联网大数据采集技术的实现具有一定实际意义和必要性。 3.爬虫技术研究及应用现状 网络爬虫的应用源于20世纪90年代的Google 等搜索引擎爬虫用于抓取互联网上的Web页面再由搜索引擎进行索引和存储从而为网民提供信息检索服务。在系统架构上网络爬虫位于搜索引擎的后台并未直接与网民接触因此在较长的时间内并未被广大开发人员所关注相应的技术研究也很有限。 下图是在知网数据库中检索“网络爬虫”关键词并按照年度统计相关文献数量后得到的趋势图。该图反映了从2002年至2017年国内对网络爬虫技术研究和应用的变化趋势大体上反映了爬虫技术的关注度。 从图中可以看出2004年以前该技术和应用的关注度几乎为0但2005年以来人们对网络爬虫技术的关注度快速上升。进一步分析发现对网络爬虫技术及应用的关注度排名在前面的领域依次是计算机软件及计算机应用、互联网技术与自动化技术、新闻与传媒、贸易经济、图书情报与数字图书馆、企业经济、自然地理学和测绘学、金融投资其中超过90%的关注度主要集中在前两者它们侧重于爬虫技术研究紧接在后面的是主要的网络应用领域可以看出爬虫技术的应用领域很广泛。 爬虫是一个实践性很强的技术活因此网络爬虫技术关注度的变化趋势也从另一个角度反映了互联网上运行的爬虫数量的增长速度。除了为数不多的主流互联网搜索引擎爬虫外互联网上运行的爬虫主要来自个人、中小型企业单位。 爬虫应用的迅速普及得益于大量的网络爬虫开源包或底层技术开源包的出现这些开源包使得开发一个具体应用的网络爬虫采集系统变得容易很多。但是也正由于这个原因高度封装的开源包使得很少有人愿意深入了解其中的关键技术导致这种途径生产出来的爬虫质量、性能和友好程度都受到很大影响。甚至网络爬虫因此被认为是一个不太“优雅”的行业当然这种看法并不正确不能被低质量的个人或小型爬虫迷惑而看不清行业现状。相反我们应当深入分析导致这种问题的技术和非技术因素制定更为完善的爬虫大数据采集规范或要求。 目前低质量的个人、小型爬虫存在的主要问题可以归结为以下3个方面。 1不遵守Robots协议连接一个Web服务器之后不检测虚拟根目录下是否存在robots.txt文件也不管文件里面关于页面访问许可列表的规定。由于这个协议是一个行业规范忽视或不遵守这个协议也就意味着行业的发展会进入不良状态。 (2)爬行策略没有优化一般开源系统实现了宽度优先或深度优先的策略但是并没有对Web页面的具体特征做优化例如Portal 类型页面的超链接非常多这些链接如果直接进入爬行任务就很容易对Web服务器造成拒绝服务攻击。 (3)许多爬虫实现了多线程、分布式的架构这个看似好的软件架构技术对于网络爬虫来说可能只是“一厢情愿”。客户端架构设计得再好爬行策略、增量模式等问题没有解决好其效果就相当于制造了很多小爬虫在服务器上同时运行。这种情况最终导致两败俱伤的结局Web服务器需要投入大量的人力、物力和资金进行爬虫检测和阻断对于爬虫也一样因此最终对Web服务器和采集数据的爬虫都不利。 4爬虫技术的应用场景 网络爬虫技术出身于互联网搜索引擎用于从互联网上可达URL所指向的Web页面或资源采集信息内容。爬虫技术经过较长时间的发展目前的应用范围变得越来越广。在涉及从互联网上进行大量页面的自动采集时基本上都离不开爬虫技术。 爬虫技术的应用可以分为两大类分别称为采集型爬虫和监测型爬虫。 4.1采集型爬虫 采集型爬虫延续了搜索引擎爬虫技术是目前使用最广泛的模式。这种爬虫在搜索引擎爬虫技术的基础上对抓取范围、意图做了不同程度的限定从而产生一些新型应用。以下列举一些该类型爬虫的典型使用场景。 1互联网搜索引擎 爬虫技术是互联网搜索引擎系统的关键技术。不管是通用的搜索引擎还是垂直搜索引擎系统其庞大的数据都是源自于互联网上各种应用中的数据通过爬虫技术可以对互联网上的页面信息进行及时、全面的采集从而能够使搜索引擎系统保持新鲜数据更好地为用户提供查询服务。 2互联网舆情监测 这是当前的应用热点通过采集互联网上一些特定网站中的页面进行信息提取、敏感词过滤、智能聚类分类、主题检测、主题聚焦、统计分析等处理之后给出舆情态势研判的一些分析报告。当前典型的互联网舆情监控系统所能达到的监测效果都取决于其互联网信息的获取能力包括监控系统在Web页面获取时的并发能力、对静态和动态等不同类型页面的获取能力、对实时页面数据的获取能力等。 3知识图谱的构建 知识图谱以结构化的形式描述客观世界中的概念、实体及其关系其构建需要大规模数据。互联网空间中的大量知识库是构建知识图谱的理想数据源。典型的开放知识库有 Wikidata(维基数据)、DBpedia、Freebase行业知识库有IMDB(互联网电影资料库、MusicBrainz(音乐信息库等。爬虫是实现这些知识内容自动采集、自动更新的途径。 4社交媒体评论信息监测 随着社交媒体在互联网上的广泛应用出现了大量评论型页面对这些Web页面进行及时、完整的采集能够获取到大量的用户偏好、用户行为信息这是个性化推荐、用户行为研究和应用的关键基础。例如目前对各种电子商务网站产品购买评论的自动采集、校园BBS页面采集等都属于这种类型。 5学术论文采集 学术爬虫专门从互联网中爬行公开的学术论文是构建学术搜索系统的关键基础。目前国内外有许多类似的搜索例如 Google Scholar、Microsoft Academic Search、CiteSeerX以及百度学术等。此类爬虫专门获取PDF、Word、PostScript以及压缩文档。 6离线浏览 离线浏览允许用户设置若干个网站将页面从服务器下载到用户硬盘里从而可以在不连接互联网的情况下进行Web浏览。实现这种功能的是离线浏览器典型的离线浏览器包括Offline Browser、WebZIP、WebCopier 等。它们的核心技术就是爬虫技术只是在执行时离线浏览器需要限定爬行的范围即所需要爬行的网站列表以免爬虫漫无边际地沿着页面超链接下载其他网站的页面内容。 4.2监测型爬虫 另一类应用是监测型爬虫这类爬虫不是以采集信息为主要目标并非要采集尽可能多的信息而是利用爬虫在内容采集和分析方面的能力对服务器的信息内容进行监测因此对爬虫和服务器的交互能力提出了更多要求。其典型的应用包括应用安全监测和内容安全监测。 1应用安全监测 应用层安全是网络信息安全的重要问题之一这类安全与具体应用有密切关系而随着部署在互联网的应用越来越多应用安全问题变得愈发突出。作为互联网应用的主流客户端浏览器需要人为的点击和数据输入并且所有的执行可能会对宿主计算机产生安全威胁因此在应用安全监测方面的效率和及时性会受到很大影响。基于网络爬虫技术则可以在很大程度上改变这种情况。网页挂马的监测就是在爬虫获取页面后对页面中所包含的动态脚本进行特征分析。SQL注入是另一种常见的应用安全问题可以通过爬虫技术向所要监测的Web服务器发起查询命令并根据返回结果进行安全判断。 2内容安全监测 内容安全是网络信息安全的最高层次敏感信息、泄密信息等的监测需要从内容层面上分析其安全属性通常这类信息的监测需要在当事人不知情的情况下进行因此采用自动化的爬虫技术并结合适当的内容分析技术是合理的选择。 可以预计随着互联网大数据在各个行业得到越来越多的关注运用爬虫技术进行数据获取或监测将变得更加普遍应用领域和场景也会越来越丰富未来爬虫的应用将进入一种广义的采集阶段而非目前的侧重于数据抓取。因此非常有必要深入掌握网络爬虫的核心技术、实现方法及未来技术发展。 5爬虫大数据采集的技术体系 5.1技术体系构成 在许多开源系统的基础上设计开发网络爬虫已经变得简单、可行然而要针对具体爬行任务要求来提升爬虫性能需要进一步了解爬虫的技术原理。类似于软件体系架构原理可以从静态、动态等多个视角来理解网络爬虫的技术组成。 分层架构是描述复杂软件系统的一种常见方法下图是网络爬虫的层次架构图。从底层往上依次可以分成4个层次即网络连接层、页面采集层、页面提取层和领域处理层。对采集到的数据的使用并不包含在这个体系中因为这是具体应用并不属于爬虫采集。 这4个层次的功能原理解释如下。 (1)网络连接层 主要由TCP Socket连接的建立、数据传输以及连接管理组成。由于目前Web服务器使用的是HTTP1.1或HTTP2.0协议支持TCP连接复用或连接的持久化所以如果爬虫利用这些特性Socket连接的建立、断开及URL请求和结果的接收需要按照一定的顺序进行。此外在爬虫执行过程中可能需要重新连接Web服务器为了减少域名到IP地址转换的时间爬虫通常要支持优化的DNS缓存。 (2)页面采集层 主要包括对URL的处理从中提取域名并按照Robots规范决定URL的抓取许可同时在面对众多的爬行任务时需要按照一定的搜索策略来决定URL的抓取顺序。在抓取页面时如果涉及动态页面可能需要考虑在爬虫中实现 Session 机制。最终的URL命令及结果是通过 HTTP协议数据包发送的在头部信息中可以携带Cookie 信息。 (3页面提取层 该层完成了HTML文本信息的处理主要是从中提取超链接,正文信息等内容因此需要按照相应的HTML编码规范进行提取。同时由于不同网站对Web页面信息的编码方式并不完全相同例如 utf-8、unicode、gbk 等在解析文本信息时需要考虑页面的编码方式。当然目前有很多的开源框架支持页面解析包括1xml、BeautifulSoup等设计人员需要掌握一些相应的规范例如XPath。 (4)领域处理层 一些特定类型爬虫需要完成的功能对于普通爬虫而言该层并不需要。领域处理主要有主题爬虫、Deep Web爬虫因此需要一定的文本分析技术来支持包括文本分词、主题建模等。对Web页面的安全监测也属于领域处理。 从网络爬虫应用的角度看在具体应用领域爬虫的类型有很多种包括普通爬虫、主题爬虫、Deep Web 爬虫等页面提取层、页面采集层和网络连接层技术是这些爬虫所共有的技术问题。 5.2相关技术 1.相关协议与规范 网络爬虫是一种客户端技术它不能离开服务端独立工作而服务端是由众多分布在互联网上的Web服务器组成。在这样的环境下爬虫要从不同的配置、不同Web软件的服务器上采集页面信息就需要按照一定的协议或规范来完成交互过程。在爬虫技术实现时需要遵守这些协议或规范。 1TCP协议 TCP协议是网络爬虫的底层协议当爬虫与Web服务器建立连接、传输数据时都是以该协议为基础。在技术实现上具体表现为Socket编程技术。各种语言都提供了对此的支持例如Java提供InetAddress类可以完成对域名与IP之间的正向、逆向解析。在Python 中则有dnspython这个DNS工具包利用其查询功能可以实现DNS的服务监控及解析结果的校验。不管哪种语言或开发平台DNS的解析一般都是调用系统自带的API通常是Socket 的getaddrinfo()函数。 2HTTP协议 HTTP协议是一种应用层协议用于超文本传输。它规定了在TCP连接上向Web服务器请求页面以及服务器向爬虫响应页面数据的方式和数据格式。爬虫实现时对HTTP协议的依赖比较大目前Web服务器使用的HTTP协议版本主要是HTTP 1.0和HTTP 1.1而最新的版本是HTTP2.0。这些协议在功能上有一定差异但也有很多共同的地方。在设计爬虫程序时需要充分了解HTTP协议。 3Robots协议 Robots 协议也称为爬虫协议其全称是“网络爬虫排除协议”(Robots Exclusion Protocol。该协议指明了哪些页面可以抓取哪些页面不能抓取以及抓取动作的时间、延时、频次限定等。该协议最早是针对搜索引擎爬虫目前在各种爬虫中都可适用。Robots协议只代表了一种契约并不是一种需要强制实施的协议。爬虫遵守这一规则能够保证互联网数据采集的规范化有利于行业的健康发展。Robots协议的详细介绍可见“http://www.robotstxt.org/robotstxt.html”。 4Cookie 规范 Cookie 是指某些网站为了辨别用户身份、进行Session 跟踪而储存在用户本地设备上的数据。通过Cookie可以将用户在服务端的相关信息保存在本地,这些信息通常是用户名、口令、地区标识等这些信息会由浏览器自动读出并通过HTTP协议发送到服务端。在 RFC 6265(http://www.rfc-editor.org/rfc/rfc6265.txt)规范中具体规定了Cookie 的数据含义、格式和使用方法。 5网页编码规范 网页编码是指对网页中的字符采用的编码方式。由于一个网页可能被来自世界各地的访客访问而每个国家的语言并不完全相同所以为了使网页内容能正常显示在访客的浏览器上需要有一套共同的约定来表明页面中字符的提取识别方法。目前常见的网页字符编码主要有 unicode、utf-8、gbk、gb2312等其中 utf-8为国际化编码在各国各地区的网站中都很常见是最通用的字符编码。爬虫在解析页面内容时就需要识别页面的编码方式。 6HTML语言规范 HTML(Hyper Text Markup Language超文本标记语言是一种用来描述网页的语言它规定了页面的版式、字体、超链接、表格甚至音乐、视频、程序等非文字元素的表示方法。对爬虫采集页面的解析、对表格数据的提取、对正文的提取等都需要根据 HTML定义的各种标签才能正确完成。目前最新的HTML版本为2017年12月万维网联盟(W3C)发布的HTML 5.2。 2.Web信息提取技术 对于网络爬虫采集页面数据而言最终的目标是获得页面中的内容因此如何从HTML编码的内容提取所需要的信息是爬虫采集Web 数据需要解决的问题。此外由于爬虫是依赖于超链接来获得更多的爬行页面所以从Web页面中提取超链接也是Web信息提取的技术问题。 总的来说Web 信息提取包含两大部分即Web页面中的超链接提取和Web内容提取。对于前者而言超链接在 Web页面中具有相对比较有限的标签特征因此通常可以使用简单的正则表达式之类的方法来提取。对于页面中正文内容的提取则要复杂一些。由于不同页面的正文位置并不相同并且网站也会经常改版所以为了爬虫解析 Web页面的程序能够具备一定的灵活性和适应性需要引入一定的技术手段来减轻这种变化所需要的程序维护工作。其常用的方法是将Web页面转换成为一棵树然后按照一定的规则从树中获得所需要的信息。 目前在Python 中已经有很多种开源库可以用来实现基于树结构的信息提取并且有灵活的策略可以配置。这些开源库主要有html. parser、lxml、html51ib、BeautifulSoup 以及 PyQuery等。这些库各有各的优缺点开发人员在实际应用中可以选择合适的方法。 一些高级的方法试图使爬虫提取Web信息有更好的适应能力一种途径是引入统计思想对页面中正文部分的各种特征进行统计在大量样本特征计算的基础上设置合适的特征值范围从而为自动提取提供依据。 3.典型应用中的数据获取技术 网络爬虫有多种不同的采集需求Deep Web和主题获取是其中的两种典型代表在实际中也会经常用到。这其中所涉及的技术与普通爬虫并不一样因此开发人员通常需要全面掌握。 能够进行主题获取的爬虫被称为主题爬虫在技术手段上其核心在于主题。围绕主题的定义方法、主题相似度计算等关键问题有一系列来自文本内容分析的技术 可以使用主要有文本预处理技术、主题表示、主题建模等。文本预处理技术包括词汇的切分、停用词过滤等而主题建模则可以利用各种主题模型例如PLSA、LDA、基于向量空间的主题表示模型以及简单的布尔模型等。 Deep Web 采集的爬虫目标是获得存储在后台数据库中的数据属于一种深度数据获取而普通爬虫通常是一种面向表面的数据采集。既然是深度数据获取就需要对数据的采集接口有一定的处理能力同时需要具备一定的输入识别和自动填写能力因此需要一定的知识库来支持。 4.网络爬虫的软件技术 网络爬虫除了技术架构中所列出来的技术外另一个重要的问题是这些技术如何进行协调合作共同完成互联网大数据的采集。这是通过网络爬虫的软件技术来保证的在技术实现时通常有多种不同的选择。 1多线程技术 从网络爬虫的技术体系看对于某个页面的采集3个层次上的功能执行具有先后顺序即必须先建立网络连接再进行HTTP协议数据的发送和接收处理最后根据爬虫采集需求对接收到的页面数据进行解析和内容提取。如果是主题爬虫还需要进行一些内容分析。 爬虫通常并不针对某个页面而是根据超链接抓取多个页面。这些页面的抓取过程之间相互独立因此在实现时可以使用多线程技术。通常的做法是设置若干线程分别进行页面内容提取、URL处理、HTTP命令数据包构建、响应数据的接收以及建立网络连接等。不同线程之间可以通过文件、共享内存进行数据交换。 2单机系统 如果需要抓取的页面数量不多在爬虫系统的技术实现上可以部署在一台机器上即单机系统模式。在这个模式下线程的设置要考虑到机器的配置和网络带宽。如果配置高则线程数量可以多一些如果网络带宽大则处理网络连接的线程可以多一些。具体线程数量需要在实际环境下进行调整。 3分布式系统 如果需要抓取的页面数量很多以至于爬虫很难在用户预期的时间内完成页面数据的采集在这种情况下就需要进行分布式处理。在分布式爬虫系统设计中一般将爬行任务即URL列表分配给若干个不同的计算节点而设置统一的协调中心来 Python爬虫大数据采集与亿俩 管理整个分布式系统所要爬行的URL列表。在分布式系统中每个节点在处理爬行 任务时仍可以采用多线程结构。 尽管爬虫在软件技术方面有多种不同的选择但爬虫只是一个客户端程序为了有效提高整个爬虫系统采集数据的性能显然不能忽略服务器端的承受和响应能力。对于爬虫系统而言它是根据所要爬行的URL集合来执行任务的。如果在短时间内爬虫端多个线程或分布节点同时连接到同一个服务器进行页面采集显然这些大量的连接请求会在服务器端产生较大的资源占用从而影响服务器的正常运行最终导致爬虫系统采集数据的效率降低。因此在多线程、分布式爬虫设计时应当进行合理的爬行任务分配即设计合理的爬行策略避免这种情况出现。 5.3技术评价方法 爬虫技术是一种典型的Web页面数据采集方法得到了许多技术人员的关注因此目前不断有新的爬虫技术或开源框架被提出来。在这种情况下需要有一套比较完整的爬虫技术评价方法以便于进行比较、权衡和选择。归纳起来网络爬虫技术的评价方法可以从以下10个方面进行。 1.是否遵守Robots 协议 在Web 页面抓取的过程中是否进行了Robots许可公告的判断是否根据许可规范来确定爬虫的抓取权限。 2.友好爬虫请求技术 友好爬虫以不对Web 服务器造成拒绝服务攻击为底线因此友好爬虫应当具备请求间隔可调整、符合 Web服务器关于访问高峰期的规定同时应当根据服务器返回的状态码及时调整自己的请求强度。 3.高效采集技术 高效是指在一定的时间和网络带宽限定下爬虫采集到尽可能多的Web页面。这其中所涉及的爬虫核心技术较多包括站内页面的遍历策略、站外页面的遍历策略、URL去重技术等。对于 Deep Web来说还涉及如何降低查询次数的技术问题。 4.对增量式采集的支持 在每次运行时爬虫是否能够判断哪些页面内容已经更新并采集自上次采集以来新出现的内容此即为增量式采集技术。 5.对动态页面的支持 动态页面的实现可以通过URL传递参数、通过Cookie传递参数以及使用Ajax等技术来实现不同的爬虫技术对这些技术的支持程度有所不同。 6.页面编码与语言处理能力 普通型的网络爬虫根据超链接在Web空间上跳转很可能要面对多种不同页面、不同语言的Web页面好的爬虫应当能够处理这些差异可能造成的存储信息乱码问题。 7.主题相关度评估 对于主题爬虫而言要衡量采集到的页面与事先设定的主题的相关度可以进一步从主题信息的召回率和准确率两个指标来衡量。 8.对分布式架构的支持 在面对海量Web信息的采集任务时通常需要爬虫具备分布式架构以协调多台计算机高效完成采集任务。 9.可配置线程技术 爬虫需要完成 Web 服务器连接建立、URL命令发送、Web页面内容采集、URL过滤以及爬行策略管理等任务这些任务可以按照一定方式同步进行从而提升采集效率。是否可以根据计算机的配置情况来设定线程数量是一个必要的技术。 10.容错能力 在一般情况下爬虫采集时需要面对Web服务器、通信网络等多方面的异常健壮的爬虫应当具有一定的容错能力以避免各个环节上的错误而导致爬虫系统崩溃。 6爬虫大数据采集与挖掘的合规性 随着网络爬虫技术应用的普及网络爬虫的应用场景越来越多但是一些不合理使用网络爬虫技术进行大数据采集的案例也不断出现甚至导致了相应的法律问题。因此网络爬虫能以什么方式抓取什么数据这个问题是值得考虑的其他类似问题还包括什么样的数据可以存储在本地、什么样的数据可以共享或出售给他人这些统称为大数据技术及应用的合规性。 6.1.数据抓取权限 从这个方面看爬虫可以抓取具有访问权限的数据这应该是其边界之一。访问权限可以从数据是否公开、页面是否许可来判断。爬虫对公开的数据当然具备抓取权限公开或不公开的判断依据是否需要以一定用户身份登录后才能看到数据,并且以其他用户身份登录后是看不到这些的。在各类不公开数据的采集中容易引起纠纷的是用户个人信息包括个人身份信息、行踪轨迹、联系方式等。在采集这类数据前爬虫应当获得用户授权。 未公开的网络数据爬虫程序无权获取可能会被认定为非法获取计算机信息系统数据罪。在《中华人民共和国刑法》第二百八十五条提到非法获取计算机信息系统数据罪是指侵入国家事务、国防建设、尖端科学技术领域以外的计算机信息系统或者采用其他技术手段获取该计算机信息系统中存储、处理或者传输的数据。这里“侵入”是指行为人采用破解密码、盗取密码、强行突破安全工具等方法在没有得到许可时违背计算机信息系统控制人或所有人意愿进入其无权进入的计算机信息系统中。典型的途径是破解APP的加密算法或网络交互协议、调用规则和参数从而爬虫突破权限许可获取数据。 抓取权限的另一个界定方法是Robots协议如果网站有设置robots.txt文件则爬虫应当依据该文件决定某个特定的URL是否许可。 6.2.爬虫的访问方式 这是指爬虫访问服务器的方式其边界为爬虫是否对服务器的正常运行造成影响。如果网络爬虫在短时间内频繁访问 Web 服务器,通常是采用分布式、并行抓取等技术从而导致服务器不能正常运行其客户访问变得很慢甚至无法响应。如果突破这个边界可能会涉及破坏计算机信息系统罪目前也有一些爬虫抓取被法院按这种类型处理。 与访问方式有关的另一个边界仍然是Robots协议在该协议中定义了抓取延时、抓取时间段等参数如果爬虫没有遵守这些约定则可能导致服务器不能正常运行。不过据观察许多网站并没有充分运用Robots协议来定义这些参数。 6.3.数据量与数据的使用 数据使用边界是指抓取的数据是否用于商业用途、是否涉及版权限定。以前发生的一个例子是百度公司通过爬虫技术从大众点评网等网站获取信息并将抓取的信息直接提供给网络用户展示最终被上海知识产权法院认定为不正当竞争行为。虽然百度公司的搜索引擎抓取涉案信息并不违反Robots协议但是将大量数据用于商业用途或展示传播很可能会涉及不正当竞争属于利益冲突。此外根据个人信息安全规范涉及个人信息的数据不应该存储在本地或进行融合挖掘。 总的看来互联网公开资源爬取并不违法网络爬虫作为互联网大数据采集的技术手段本身具有中立性而抓取没有权限、没有授权的数据对服务器正常运行产生影响以及抓取后的数据用于商业用途、未经授权公开展示应该是突破了爬虫大数据采集的边界。与爬虫大数据采集相关的规范和法律条款主要出现在《中华人民共和国网络安全法》《计算机信息系统安全保护条例》《个人信息安全规范》《数据安全管理办法(征求意见稿》和《反不正当竞争法》中。在设计爬虫大数据采集挖掘系统之前建议阅读这些规范和法律条款设计方案时要对合规性、采集性能进行适当的平衡不能为了提高采集性能而忽视合规性。 7爬虫大数据采集技术的展望 随着互联网技术、大数据应用等相关技术的发展网络爬虫技术作为互联网大数据采集的主要途径必然会不断发展变化。对于互联网大数据技术研究及应用开发的人员来说了解这种发展趋势把握技术发展方向是非常有必要的。 网络爬虫离不开技术、应用和行业规范因此可以从这3个大的方面来分析网络爬虫技术发展的推动力和发展趋势。网络爬虫涉及多种不同的技术包括网络协议、HTML编码、网络架构等这些技术本身也在不断的演进。技术的发展虽然是建立在现有技术的基础上但并非都是向下兼容也会不断地产生新的思路以这些技术为基础的网络爬虫自然也要随着技术的发展而发展。 下面按照这个思路对网络爬虫的大数据采集技术的今后发展进行分析和叙述主要体现在以下6个方面。 1.HTTP 协议的升级 自1999年HTTP 1.1发布后直到2015年才发布了新的版本HTTP 2.0它被看作是下一代互联网通信协议但是目前大部分尚未真正实施。将来随着支持HTTP 2.0协议的网站的数量增多网络爬虫的协议解析和数据包提取技术必然会有相应的发展。 HTTP 2.0在与HTTP 1.1语义兼容的基础上在性能上实现了大幅提升。该版本采用二进制分帧层将进行传输的消息分割成更小的消息和帧并对它们采用二进制格式的编码。因此HTTP 2.0允许客户端与服务器同时通过同一个连接发送多重请求/响应消息实现多路复用。HTTP 2.0也允许服务器对一个客户端请求发送多个响应即服务器推送。这些特性都是现有 HTTP 1.1、HTTP 1.0所不具备的基于新的HTTP协议爬虫技术就需要有相应的发展。 国际互联网工程任务组(The Internet Engineering Task Force,IETF)的 QUIC 工作小组创造了 QUIC 传输协议。QUIC(Quick UDP Internet Connection)是一个使用UDP来替代 TCP的协议有望成为新一代HTTP协议即HTTP3的核心基础。其目标是给Web浏览提速当然爬虫也可以从中获益。 2.IPv6的广泛应用 IPv6是 IETF(国际互联网工程任务组设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。随着IPv4 地址耗尽互联网将会全面部署IPv6。IPv4最多可以分配42亿个IP地址而IPv6可提供2的128次方个地址因此没有了地址编码的限制互联网应用与现在相比一定会有很大的飞跃。 IPv6对爬虫技术发展的推动主要在于两个方面。一方面由于HTTP数据包最终还是通过IP层进行传送所以在IPv6下要求爬虫中更底层的网络数据包分析和数据提取技术相应的发展另一方面IPv6在安全性方面有很多增强对爬虫与Web服务器的交互技术提出新的要求。 3. HTML语言的发展 HTML 语言规范不断升级变化当前较新的版本是HTML5。相比于以前版本HTML5添加了很多新元素及功能并删除了一些旧元素。HTML5提供了新的元素来创建更好的页面结构元素也可拥有事件属性这些属性在浏览器中触发行为改变页面的动态性。从程序设计角度看除了原先的DOM接口以外HTML5增加了更多API实现定时媒体回放、离线数据库存储等功能。 随着今后新型互联网不断出现可以预见HTML版本将会不断升级因此为了更好地处理 Web页面内容网络爬虫在Web页面解析、内容提取方面的技术也将不断发展。 4.新型网站架构的出现 Web 服务应用架构从最早的Client/Server发展到集群、负载均衡、虚拟主机等技术每次新技术的出现都是Web服务应用架构试图解决高可用性、高并发、可维护等实际问题。云计算、区块链等新的计算和处理架构必将使得Web应用架构发生变化从而使得网络爬虫在技术上也需要不断更新以适应服务端架构特征。 5. Web应用的推动 Web应用中的互联网大数据朝着多样化、流动性、隐匿性等方面发展对爬虫信息采集提出了新的要求。目前有3种典型的 Web,即 Surface Web、Deep Web、Dark Web。当前爬虫主要针对表面网络(Surface Web)和深网(Deep Web)。尽管如此将来随着物联网等新应用的普及数量巨大的Deep Web 数据或许对当前的动态网页访问提出新的需求例如实时性等因此相应的新的软件技术和架构也会随之出现。 另一方面暗网(Dark Web包含那些故意隐藏的信息和网站并且无法通过人们每天使用的浏览器访问通常只能通过特殊的软件和特定的URL进入。随着暗网的影响力越来越大对暗网的监管需求也很迫切。客户端如何与暗网高效交互并采集各类信息成为技术发展的前沿方向之一。 6.行业规范的推动 互联网大数据采集所涉及的行业规范包括页面访问许可、访问行为规约、数据权属以及数据质量等方面。 虽然目前的Robots协议规定了描述页面访问许可、访问行为规约的方法但是该协议并非是强制执行的导致很多爬虫并不遵守服务方的公告。由此爬虫和服务方之间为了数据的采集与保护进行了持续的博弈最终导致双方都要付出很大的代价。这种基于Robots 协议的页面访问许可和行为规约还有很大的改进空间。另一方面Robots 协议针对页面进行许可控制对于Deep Web数据的访问许可描述不够灵活因此需要发展细粒度的数据许可约定方法从而进一步影响爬虫技术实现。 最后随着大数据交易市场的发展壮大对数据权属、数据所有权、数据质量等管理问题的逐步明确相关规范将会得到行业认证作为大数据采集的网络爬虫在技术处理上显然也需要遵守这些相关约定。
http://www.dnsts.com.cn/news/59815.html

相关文章:

  • 如何下载免费的ppt模板seo需要掌握什么技能
  • 企业手机网站建设有中山精品网站建设方案
  • 大连网站制作中企动力上海集团网址
  • 怎么做菠菜网站云建站淘宝客
  • 龙泉驿网站建设又拍云存储WordPress
  • 自已做的网站怎么做域名解析三亚网上商城
  • 建购物网站 资质急招程序员
  • 个人作品网站链接怎么做磐石网站seo
  • 包头网站建设价格营销型网站建设发难
  • 长沙设备建站按效果付费设计之家效果图
  • 网站规划包含哪些内容深圳那个网站建设
  • 公司介绍网站源码php网站 数据库链接
  • 工业信息化部网站备案查询汕头网站模板
  • 福田莲花网站建设世界三大设计奖
  • 单位网站平台建设汇报网站开发项目工期流程
  • 用dreammwea怎么做视频网站做网站头文件
  • 网页制作与网站建设实战大全 pdf下载网页布局方式
  • 在国外做购物网站网站制作计划书模板
  • 0539 网站电影网站建设的核心是
  • 河南金城建设工程有限公司网站竞价排名的定义
  • 个人网站界面设计图片书城网站开发
  • 个人网站备案范围网站开发合肥
  • 泰安网站建设推广wordpress阿里云图片不显示不出来
  • 网站内怎样做关键词有效果天津做胎儿鉴定网站
  • 福州网站制作套餐免费源码资源源码站
  • 北京app网站开发做一个电子商务网站
  • 免费网站开发模板表白网站在线生成
  • 怎么把网站源码上传到空间根目录视频网站导航栏垂直
  • 大良手机网站建设wordpress首页显示友链
  • 做购物网站开发价格合肥新房在售楼盘