网络爬虫范例6篇

前言:中文期刊网精心挑选了网络爬虫范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

网络爬虫

网络爬虫范文1

[关键词]网络爬虫;User-Agent;网络策略

[DOI]10.13939/ki.zgsc.2016.23.077

1引言

随着科技的发展,大众正面临着一种信息爆炸的局面。在巨量数据面前,大众面临着一种尴尬局面,那就是互联网中有大量的对自己有用的数据,但是怎样能正确和便捷的获取到这些数据存在着困难。搜索引擎的出现很好地解决了这种局面,让大众通过搜索引擎搜索自己想要的数据。在互联网的搜索引擎和网站中,目前最常用的是网络爬虫技术。任何事物都有正反两个面,网络爬虫的出现也印证了这个说法。网络爬虫在给人们提供搜索便利的同时也占用了大量的网络带宽,很多网站的访问流量构成当中,爬虫带来的流量要远远超过真实用户访问流量,甚至爬虫流量要高出真实流量一个数量级,因此应对网络爬虫是一个值得网站开发者长期探索和解决的问题。

2网络爬虫概述

网络爬虫也被称为网络机器人,是一种能够“自动化浏览网络” 的程序,通过它可以在互联网上自动抓取内容。它们被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以供搜索引擎做进一步处理(分检整理下载的页面),而使得用户能更快的检索到他们需要的信息。早期的爬虫主要功能是索引网站中的文本内容,随着技术的发展,爬虫的功能也越来越强,例如对图片、视屏与内容的关联,对各种数据格式(如doc、xls、pdf)的解析等。

有关分析数据显示,网站流量中有高达60%可能是由网络爬虫产生的,而这些爬虫则是由用户或其他程序控制,并可能模拟人类的Web访问行为。几乎所有在线业务都可能受到各种类型的爬虫流量的影响。这可能包括抓取内容或价格信息的爬虫、购买限量供应商品及服务而使合法客户无法正常购买的“交易”爬虫、用欺骗手段增加广告收入的自动“点击”爬虫等。另外,因为搜索引擎的流行,网络爬虫实际已经成了应用很普及的网络技术,除了专门做搜索的Google、Yahoo、微软、百度等公司以外,几乎每个大型门户网站都有自己的搜索引擎,除此以外数量繁多的中小型网站也都有自己的搜索引擎,所以说对于处于互联网中的网站来说,受到网络爬虫的光顾是不可避免的。对于一些技术成熟且智能化水平高的搜索引擎来说,爬虫的爬取频率设置比较合理,对网站资源消耗比较少,但是很多设计水平差的网络爬虫,其对网页爬取能力很低,经常并发几十上百个请求循环重复抓取,这种爬虫对中小型网站的影响往往是致命的,特别是一些缺乏爬虫编写经验的程序员写出来的爬虫破坏力极强。

3网络爬虫流量的应对措施

3.1手工识别拒绝爬虫的访问

这种方法主要是针对爬虫的来源IP进行封堵,通过netstat检查网站主机的80端口,察看80端口的IP连接数量,通过连接数量的多少确认网络爬虫的来源IP,这种方法主要应用了网络爬虫并发连接数量非常高的特点。在确定来源IP后可以通过防火墙来拒绝网络爬虫对网站的访问。

3.2通过User-Agent信息识别爬虫

网络爬虫并不是全部具备高并发连接的特点,有时候网络爬虫并不会采用高并发来进行网站内容的爬取,这样一般不容易通过手工方法识别;同时有些网络爬虫来源IP分布范围很大,很难采取封锁IP段的手段来解决问题。它们通常采用以爬虫数量取胜的方法,即通过大量爬虫分别有限爬取网页的办法,这些小爬虫单独爬取的量都不高,所以很难准确识别其IP。这种情况下我们可以通过User-Agent信息来识别爬虫。这是应用了爬虫在爬取网页时会声明自己的User-Agent信息,我们通过分析User-Agent信息来识别爬虫。这种方法实施简单效果也非常好,它可以对特定的爬虫进行封锁,也可以对编程语言中的HTTP类库进行封锁,这样可以避免无用爬虫对网站的影响。同时我们还可以采用一种更高级一点的方法在不封锁特定爬虫的情况下,通过降低爬虫的请求频率来减轻爬虫对网站性能的影响。

3.3通过网站流量统计系统和日志分析来识别爬虫

有些爬虫会通过修改User-Agent信息来伪装自己,把自己伪装成一个真实浏览器的User-Agent信息。这种情况下我们就无法通过User-Agent信息识别爬虫了,但是我们可以通过网站流量系统记录的真实用户访问IP来进行识别。

当前主流的网站流量统计系统经常采用两种实现策略:一种策略是在网页里面嵌入一段JavaScript代码,这段JavaScript代码会向特定的统计服务器发送请求的方式记录访问量;另一种策略是直接分析服务器日志,来统计网站访问量。一般情况下,嵌入JavaScript代码的方式统计的网站流量应该高于分析服务器日志统计的网站流量,这是因为用户浏览器会有缓存,不是每次真实用户访问都会触发服务器的处理。

在进行服务器日志分析时,我们可以采用服务器日志分析软件,好的分析软件可以使我们的分析工作进行的事半功倍。通过日志分析软件的分析和识别功能,可以对网站的IIS、Apache、Nginx等进行识别和分类分析并给出分析结果。

通过流量统计系统一般可以得到用户真实的访问IP。正常情况下爬虫是无法执行网页里面的JavaScript代码片段的。所以我们可以用流量统计系统记录的IP与服务器程序日志记录的IP地址进行比对,如果服务器日志里面某个IP发起了大量的请求,在流量统计系统里面却根本找不到相关的记录,或者能找到访问量却与服务器日志里面的统计量出入很大,那么基本可以确定这就是网络爬虫。

3.4通过设置网络策略实现网站实时反爬虫

通过分析日志的方式来识别网页爬虫只是一种被动的防爬虫方法,它永远滞后与爬虫带来的危害,通过防火墙可以实现一个实时的反爬虫策略。如果一个恶意爬虫非要针对某一网站进行蓄谋的爬取,那么它完全可能会采用分布式爬取的策略来进行,比如通过成百上千个服务器对目标网站进行大频率的爬取,从而导致目标网站无法相应正常访问,那么再进行日志分析解决问题就显得非常被动和应对滞后。所以必须采取实时反爬虫策略,要能够动态的实时识别和封锁爬虫的访问。

4结论

科学技术总是在不停地往前发展,这些技术就像矛和盾,总是存在此消彼长的状态,随着技术的进步,攻与防的战斗也在向纵深发展。对于网络爬虫不能只是一味地封堵,比较可行的方法是进行疏堵结合,通过更全面的超越简单拦截的多样化策略,更好地控制爬虫流量,将其负面效应减到最低状态。

参考文献:

网络爬虫范文2

【关键词】网络爬虫 搜索策略 搜索引擎

一、引言

信息时代的发展,让越来越多的高新技术应用到网络中去。随着网络信息数据的海量增长,传统的搜索引擎功能已与当前人们多元化的信息需求不匹配,人们对于搜索引擎的要求更加细致、精确,传统的搜索引擎已无法满足人们个性化信息检索服务的需求[1]。近年来,主题型搜索引擎应运而生。所谓主题型搜索引擎,就是以构筑某一专题领域或学科领域的因特网信息资源库为目标,智能地在互联网上搜集符合设定专题或满足学科需要的信息资源[2]。在主题搜索引擎的研究中,网络爬虫搜索策略主要研究以何种搜索策略访问Web以提高效率,这是当前研究的热点问题之一。网络的动态性、异构性和复杂性需要网络爬虫有效地实现网页信息的读取,让用户及时获得所需要的信息。

二、网络爬虫的概念

网络爬虫的概念有广义和狭义之分。狭义上的概念是指根据超链接和W EB文档检索万维网信息空间;广义上的概念是利用标准的HTTP协议检索Web文档,使用HTTP协议的软件称之为网络爬虫。网络爬虫能够自动提取网页??程序,能够从万维网搜索引擎下载网页,是搜索引擎的重要组成部分。网络爬虫不依靠用户干预,即可实现自动“爬行”搜索。

三、聚焦搜索策略

网络爬虫的主题搜索引擎能够获取到的网页一般要多于100万面,同时获取网页用时较长,有时需要等待十秒以上的时间。随着人们对于搜索要求的提高,这些通用搜索引擎与人们的要求不相适应。因此,出现了聚焦爬虫策略,能够定向的获取主题网页,只挑出所需的特定主题页面来进行定向访问,图1即可显示聚焦爬虫的应用策略及规则。

图1 聚焦搜索策略

聚焦爬虫给下载页面分配一个分数,然后根据得分排序,放入到确定的队列中去。通过队列对页面进行分析,以寻找最佳的页面。网络爬虫搜索策略的关键是如何评价链接,以显示链接的“重要性”,从而确定不同的主题搜索策略。聚焦搜索策略主要包括基于内容评价的搜索策略、基于链接结构评价的搜索策略、基于巩固学习的聚焦搜索策略和基于语境图的聚焦搜索策略。基于巩固学习的聚焦搜索策略,是在强化学习的模型中,通过几个不相关页面的访问,获得主题页面的模式。把获得的主题相关页面称为未来的回报,未来回报的预测值表示未来回报的价值,用Q值来表示。这种方法的核心是要学会如何计算链路的Q值,根据未来的返回值,确定主题搜索目标的正确性。基于语境图的聚焦搜索策略,能够构建出WEB的语境图,来估算与目标页面的距离。但这种方式有一定的局限性,不能够表现出客观的WEB结构。

四、宽度和深度优先搜索策略

搜索引擎所用的第一代网络爬虫主要是基于传统的图算法,如宽度优先或深度优先算法来索引整个Web,一个核心的URL集被用来作为一个种子集合,这种算法超的最终的目标是跟踪覆盖整个Web。这种策略通常用在通用搜索引擎中,因为通用搜索引擎获得的网页越多越好,没有特定的要求.如图2所示。

图2传统的图算法

网络爬虫的搜索引擎主要是基于传统的图算法,通过索引整个Web,由一个核心的URL集被用来作为种子集合,算法递归地跟踪超链接到其他的页面,在运行中,通常不需要顾及页面的具体内容,因为最终的目标是要在整个W EB中实施跟踪策略,覆盖面通常是用在一般的搜索引擎中,因对一般的网页搜索引擎的要求是能够尽可能多的获得返回的页面,而没有相应的主题的要求,如图2为传统的图算法。其主要的方法包括宽度优先搜索算法和深度优先算法。在进行Web主题信息提取的实施过程中,所提取的URL已经通过了主题相关性判别。尽管如此,所提取的页面内容还是可能与设定的主题相差甚远。这种现象将影响主题页面信息的提取准确率。因此,在页面提取之后,需要对页面进行主题相关性判别,以滤掉主题无关页面。深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。搜索的过程一直进行到所有节点已发现并确定源节点是否是最新的。如果还有未被发现的节点,然后选择源节点之一,并重复上述过程,直到所有的节点都被发现。

五、小结

随着人们对个性化信息检索服务需求的日益增长,面向主题的搜索引擎应运而生。在主题搜索引擎中,网络爬虫以何种策略访问Web能提高搜索效率,是近年来主题搜索引擎研究中的主要问题之一。面对人们越来越高的信息检索要求,各种专业主题搜索引擎应运而生,以满足不同用户群体的个性化需求。基于主题的采集的核心问题就是采集时向主题页面群的引导和对无关页面的过滤问题,需要进一步研究出新算法。

参考文献:

[1]林彤,江志军.Internet的搜索引擎[J].计算机工程与应用,2000,36(15):160-163.

[2]李蕾.中文搜索引擎概念检索初探[J].计算机工程与应用,2000,36(6):1-11.

[3]戚欣.基于本体的主题网络爬虫设计[J].武汉理工大学学报,2009,31(2):138-141.

[4]乌岚. 基于多样约束模型的远程教育数据库优化查询算法[J].科技通报,2013, 29 (1):155-160.

网络爬虫范文3

关键词:网络爬虫 新媒体 研究 设计

中图分类号:TP393 文献标识码:A 文章编号:1007-3973(2013)007-063-03

1 引言

随着新媒体的飞速发展与逐渐成熟,新媒体这一媒体形式凭借其便利、便捷的特点获得了人们的认可和关注。由于新媒体平台的数量增长,人们已经逐渐迷失在浩瀚的网络中,无法在有限的时间内及时、准确地获得想要的信息,所以对新媒体进行有效的资源整合成了解决这一问题的首要途径。本文以四川大学教务处网站、四川大学团委网站、四川大学学生工作处网站为研究背景,结合计算科学技术,提出了新媒体资源整合的方法,使广大的学生群体在有限的课余时间内准确、高效地了解校内外的资讯。

本文主要工作包括:(1)研究四川大学网络媒体现状;(2)提出新媒体平台数量增长背景下,如何及时、高效地获取资讯的办法;(3)介绍新媒体资源整合的核心技术 ― 网络爬虫技术及相关关键技术;(4)结合网络爬虫技术设计资源整合网站,整合四川大学教务网站、学生工作处网站、团委网站的资讯。

2 四川大学网络媒体现状分析

经调查,四川大学学生最经常访问的校园官方网络平台有“四川大学教务处网站”、“四川大学团委网站”、“四川大学学生工作处网站”,其主要原因在于以上几个网络媒体平台经常颁布贴近学生校园生活的资讯信息,学生急需从中获取及时的资讯了解校园内的实时动态。现阶段,四川大学官方网络媒体具有以下几个特点:

2.1 资讯重复出现,缺乏系统性

新媒体飞速发展,其主要原因在于其便捷和便利的特点。经过调查发现,四川大学教务处网站、团委网站、学生工作处网站上经常出现资讯重复的现象,一则通知或新闻因其工作性质与网站直属单位相同而被同时在多个网络平台上。网页的主页设计中,一般会将5-8条的资讯显示在主页面上,其余的资讯需点击“更多”进行查看。学生在浏览网站了解资讯时,主要关注的就是页面中通知栏、新闻栏的即时信息,很少点击“更多”查看未全部显示的信息,如此重复信息的出现,极可能导致信息的更新而使学生错过还未阅读的资讯信息。

2.2 资讯分布广,使用效率低

资讯分布广是现阶段四川大学网络平台的一个主要特点,同时也是一个亟待解决的问题。广泛的信息分布使学生在浏览信息时疲于奔命,再加之校园网刷新速度较慢,很大程度上降低了学生的使用效率。效率降低了,也违背了新媒体这一新兴产业的初衷,高效率的获取资讯是广大学生的需求。

3 及时、高效地获取资讯的对策研究

3.1 及时性

所谓及时性,需要使学生在浏览网页时能第一时间了解到同步更新的资讯。

3.2 高效性

所谓高效性,需要使学生在有限的时间内尽可能多得获得有效的资讯。

结合以上两点,资源整合概念是解决这一问题的最佳对策。

资源整合是系统论的思维方式,针对本文提出的问题,就是要通过科学化的方法将四川大学教务处网站、团委网站、学生工作处网站彼此相关但又分离的资讯,通过计算机科学技术的方法整合到一起。

具体方法是设计一个四川大学资讯整合网站,将三个网站的通知、新闻获取到一个网站上,使学生在登陆浏览一个网站时就可以关注到三个网站的实时信息。同时,网站将使用自动更新技术实现及时性,使用去除重复的方法实现高效性。

4 实现资源整合的核心技术

网络爬虫是在搜索引擎领域中广泛使用的技术,而其主要是根据用户的需求,在制定的网络范围内搜寻消息。这项技术可以运用在实现本文提出的资源整合理念上。本节将概述网络爬虫技术并介绍实现网络爬虫相关技术。

4.1 网络爬虫技术概述

网络爬虫是通过网页的链接地址寻找网页的程序,如图1所示,它从网站的某一个页面开始读取网页的内容,找到网页的其他链接地址,然后不断地递归循环,直到把网站内所需资源遍历完整为止。

在抓取网页的时候,网络爬虫一般有两种策略:(1)广度优先策略;(2)深度优先策略。

4.2 Java语言

Java语言具有简单性、多线程性、与平台无关性的特点。

网络爬虫需要对多个页面进行解析,显然,单线程的工作效率极低,程序会因此出现瓶颈。单线程技术需要一个接一个地等待响应,等待时间将是每个网页请求等待响应的时间。因此,多线程是实现网络爬虫的必要技术。

4.3 Jsoup Html解析工具

Jsoup是一种Java的Html解析器,可以直接解析某个URL地址、HTML文本内容。Jsoup提供了较为方便的API,可以通过类似于JQuery的操作方法进行数据操作。

主要功能有:从URL中直接获取页面HTML,使用DOM、CSS选择器查找、获取数据,实现对HTML的简单操作。

4.4 JDBC数据库访问

网络爬虫解析HTML后,将获取有用信息储存在数据库。Java提供了JDBC(Java Data Base Connectivity)接口来进行数据库访问。JDBC的用途是通过向数据库发送SQL请求语句,让使用者从数据库中获取请求的信息。

网络爬虫范文4

关键词:网络爬虫;Web网页;学习资源

中图分类号:TP319

文献标识码:A

文章编号:16727800(2017)004011103

0引言

随着信息技术的发展,互联网信息量呈指数级爆炸性增长[1],信息淹没在浩瀚如海的互联网数据中。用户要从海量、异构、半异构、动态数据中快速获取有价值的学习资源是非常困难的。网络中学习资源数据量庞大,百度、Google检索也仅收录了页面的1/3,基于汉语自身的复杂性及特点,检索获取有价值的学习资源效率低、花费时间长[2]。为此,设计并实现了一个学习资源爬虫系统,使学习资源检索能快速、准确地达到预期目标。首先对学习资源的概念、类型、格式作一定阐述与界定。学习资源是指学习、教育被应用、参考,并以数字化信息加载的一切对象;学习资源类型是指试题、试卷、案例、问题解答、媒体素材、网络课程、网络课件;学习资源格式是指HTML、TXT、Word、PPT、PDF、Excel格式的文本或文档。

1系统总体设计

聚焦网络爬虫(Web Crawler)也称为主题网络蜘蛛,是一个自动下载网页的计算机程序。设置初始的URL(Uniform Resource Location)队列序列化开始爬取,解析原URL指向的网页并提取新的URL链接与页面信息,提取过程中对网页信息、文档文本进行过滤,剔除重复、不符合要求的URL及文本文档,下载有关主题信息储入数据库,并且不断遍历整个过程,直至程序报错或达到系统的预定规则而停止[3]。本系统设计学习资源爬虫结构如图1所示,根据系统的爬虫结构,其功能模块主要包括:网页抓取、网页解析、内容去重、内容下载。系统的功能模块其学习资源爬虫流程如图2所示。

2系统功能模块

2.1网页抓取

网页抓取策略包括深度优先搜索策略、最佳优先搜索策略、广度优先搜索策略。深度优先搜索策略在深度大、数据多时,抓取深度、命中率以及抓取效率会大幅下降,同时由于受系统堆栈容量限制,内存也会产生溢出;最佳优先策略是一种局部最优搜索算法,需结合具体应用进行改进;广度优先搜索策略必须考虑溢出和节省内存空间的问题,运行速度要比深度优先搜索快很多。本文采用广度优先爬虫策略结合反网络爬虫策略,网页抓取时应配置爬虫网页的脚本,配置网页脚本为XML、Groovy文件,XML用于限定爬虫的对象范围,过滤与学习资源无关的信息;Groovy用于限定爬虫对象内容的范围,为网页内容过滤掉“广告条”以及网页下方的网站说明等信息。系统启动时将初始的URL种子集队列放入Redis SitesQueue临时数据库,并不断地从Redis队列中抽取URL,解析其DNS,访问网页协议HTTP、主机名、路径,建立网络通信发送请求报文,连接Web服务器下载页面并把页面内容及链接信息保存到本地磁盘上[4],以节约主机内存的占用,提高网页抓取效率。

2.2网页解析

网页解析是网页处理的起点,程序发送请求信息,协议允许访问页面则进入页面框架。通过解析类ParserFile.class对HTML网页进行DOM解析,其中包括HTML标签、元素内容、脚本内容、注释等,用index处理HTML中的标签、文本、注释、指令,以及这些符号之间的语法关系,如标签与标签、标签与文本的关系。主要解析标签包括:正文标题(Title)、正文内容(Article)、链接(Link)、作者(Author)、时间(Publishtime)、来源(Source)。用inline处理锚文本对应URL链接节点下的“href”属性,获取锚文本与URL之间的对应关系。在DOM解析与URL语法解析的基础上,即可进行网页内容的识别操作[5],提取内容进行去重处理,提取链接URL进行判断处理。解析主要代码如下://判断fileDir文件的第index个dom中,有无嵌套标签 Element dom_el=root.getChild("list").getChildren("dom").get(domNo);String inline = dom_el.getChildText("inline");if(inline != null && !"".equals(inline)) return true;else return false;//inline 标签有几个attr属性Element dom_el=root.getChild("list").getChildren("dom").get(domNo);Element inline_el = dom_el.getChild("inline");int depth = inline_el.getChildren().size()+1;

2.3内容去重

目前Internet的重复网页约占35%~45%,大部分是内答转载。爬取这些网页或者重复内容既占用网络带宽又浪费资源,用户不希望收集一堆内容相同或近似的检索结果。因此,程序启动之前已配置网页脚本为XML、Groovy文件,在URL中限定了爬虫对象、内容的范围,剔除了与学习资源无关的信息内容。程序运行时,处理爬虫过程中存在的重复网址,剔除重复学习资源内容或文本文档。互联网学习资源范围和数量庞大,选择好的去重策略,能节约大量爬虫时间,提高爬虫效率[67]。程序对Redis缓存内容去重效率相当高,对内存要求也相对较高。同时Redis要关闭VM功能,需要设置好redis.conf配置文件,因为内存使用过高将导致内存溢出。内容去重主要包括正文标题(Title)、正文内容(Article)的去重,是一种高效去重的方法。

2.4内容下载

网页分为静态和动态。静态网页由HTML代码生成,页面的内容、结果基本不会有变化;动态网页是相对静态的一种网页编程技术,具有如下几个特点:交互性、更新性、效果动态性。由于动态网站脚本与服务器异步交互易产生数据丢失,需借助Firfox浏览器、Webdriver测试工具解决该问题,以进行完整、高效、自动的批量网页内容下载。系统运行主程序MainQuartz和子程序ListStart、DetailStart时,ListStart子程序根据节点下载网址的主列表,DetailStart子程序下载列表项内容。List表下载链接URL、时间、标题、来源,Article表下载正文内容、时间、来源、作者、描述、关键字。下载模块始终在监听等待爬虫List表和Article表,如果为空,则处于等待状态;如果不为空,则下载列表内容,查看HeidiSQL数据库管理界面,存储记录每一条爬取成功的信息。

3系统开发环境

硬件配置:CPU为Intel Core i5,内存为8G,硬盘500G。 软件配置:操作系统为Windows7 64bit,软件集成开发工具为Eclipse,开发语言为Java,数据库为MySQL、Redis。 本系统需要对Redis缓存内容去重,对内存要求会偏高,因此采用CPU Intel Core i5,内存8G。开发工具是以Eclipse为集成框架,开发语言采用Java,因已生成的类包库可以直接调用,简单方便。Redis作为缓存数据库,可大幅提高爬虫效率,也相对减轻了δ诖娴男枨螅很大程度上避免了内存溢出,MySQL为存储数据库。

4系统爬虫结果与结论

根据爬虫结构、功能设计与系统开发环境的配置,爬虫数据来源于中国教育信息网、百度文库资源、小学资源网、小教资源网,以及部分研究机构与高校的共享资源等。爬取学习资源Article表数据如图3所示。由List表和Article表的数据可知,List爬虫存入数据库的平均速度为1.3页/秒,Article表爬虫存入数据库的平均速度为6.5页/秒,学习资源爬虫的平均速度为4.0页/秒,准确率在95%左右。系统可大幅提高抓取学习资源的准确率与效率,同时提升了获取的学习资源的价值性。

爬取的学习资源为HTML、TXT、Word、PPT、PDF、Excel的文本或文档。其中影响爬虫的因素有网速、网址服务器以及学习资源的文本或文档大小等。本文设计的学习资源爬虫系统采用广度优先爬虫和反网络爬虫策略,通过解析类ParserFile.class对HTML网页进行DOM解析,通过程序对Redis缓存内容去重,并借助webdriver、Firfox浏览器,进行完整、高效、自动的批量网页内容下载,改善了网络爬虫易被屏蔽的缺点,降低了爬虫难度与任务量,同时解决了动态网站脚本与服务器异步交互的数据丢失问题,优化了学习资源获取的准确率、效率,从而获取更多、更有价值的学习资源。

参考文献:[1]孙立伟,何国辉,吴礼发.网络爬虫技术的研究[J].电脑知识与技术,2010(15):41124115.

[2]杨彦军,郭绍青.ELearning学习资源的交互设计研究[J].现代远程教育研究,2012(1):6267.

[3]J CHO.Crawling the Web:discovery and maintenance of largescale Web data[J].International Journal of Advances in Engineering Sciences, 2001,3(3):6266.

[4]翁岩青. 网页抓取策略研究[D].哈尔滨:哈尔滨工程大学,2010.

[5]王Z琦. 基于内容单元的网页解析与内容提取[D].哈尔滨:哈尔滨工业大学,2008.

网络爬虫范文5

关键词 搜索引擎;FTP;Web

1 背景

当前,计算机网络已经越来越普及,各个单位也已经逐步建立自己的FTP(File Transfer Protocol)服务器,用来管理存储对于自己单位内部共享的一些文件或者对外共享的一些文件。随着被FTP管理的文件数量的不断增长,达到上万、上百万,甚至更多的时候,如何在如此庞大数据里边更快捷的找到自己所需的文件,将成为一个很重要的问题。

目前出现了一些FTP搜索引擎,可以用来搜索整个互联网内处于匿名访问的FTP上的文件信息,而需要权限才能访问的FTP则无法直接建立索引,因此不能达到搜索效果。本文拟构建的FTP搜索引擎是针对单位内部,局域网内的一个或者几个FTP服务器建立的;使内部用户直接可以看到FTP上的目录结构,并可以准确的搜索文件位置,然后下载浏览,达到检索高效、准确。2 拟构建系统之模型

根据拓扑结构,内部网络部署若干台FTP服务器,根据需要,在每台需要被查询的FTP服务器上,建立扫描文件结构发生变化的爬虫程序,并在内部网络建立FTP文件索引数据库服务器,用来存放FTP服务器上爬虫程序获取的索引数据,另外还要建立Web服务器,用来做Web查询。3系统模式分析

本系统采用两个模块构建,分别是部署于FTP服务器的爬虫程序和部署于Web服务器的索引查询引擎。

部署于FTP服务器的爬虫是一用来监控FTP文件结构变化的程序,它用来监视FTP服务器的变化,当FTP服务器有新的文件上传或者有文件被删除或者文件位置发生变化的时候,爬虫程序会立即捕捉到此变化,然后将变化信息响应到建立索引的数据库服务器。

部署于Web服务器的查询引擎是主要用来做查询服务,以及针对用户输入的查询关键字做模糊处理,直接以模糊方式查询,当搜索到结果以后,显示时候将文件所处FTP位置显示,同时将对应的超级连接做在上边,可以方便直接下载。

在访问范围上,拟构建的搜索系统可以供内网和外网同时检索,访问方式

如图一所示,将Web服务器在内部网络,同时开放到Internet,可提供到Internet访问。通过Web服务器来对内和对外提供检索服务。内部用户通过内部网络直接访问Web服务器来访问搜索引擎,外部用户通过Internet来访问Web搜索引擎。4 系统的实现

FTP服务器爬虫程序主要用来建立FTP文件的树形结构,如图2所表示,每获得一个服务器就建立一个FTP根节点,然后在遍历根节点下边的子节点,直到将子节点遍历完毕。FTP服务器爬虫程序可以采用Java或者C++等程序来实现,可以作为操作系统的一个服务来加载。此种爬虫程序可以根据需求分为两类,一类是实时记载服务器文件结构变化的,一类是分周期的记载数据库变化的。

实时记载的爬虫程序运行过程是:当初始加载到一个新的FTP服务器,爬虫程序首先遍历该服务器,获得该服务器的文件结构,同时将此结构记载到数据库服务器,当遍历完整个服务器后,然后就进入监控状态,实时记载服务器变化,当文件增加时在原数据基础上追加数据,当文件更改位置后,修改对应记录的数据,当文件被删除时清除数据库中的对应记录。

分周期记载的爬虫程序的运行过程是:当加载到一个新的FTP服务器,程序遍历该服务器,获得服务器的文件结构,同时也将此结构记载到数据库服务器,当过一定周期后,重新遍历服务器文件结构,将结果再记载到数据库,并删除原有的遍历结果,如此反复。

两类程序有各自的优缺点,第一类实时性比较强,当服务器文件结构发生变化后,立即可以体现到检索结构中,但缺点是占用FTP系统资源太多,可能会影响FTP服务性能;第二类正好与相反,因为它是周期性的遍历,因此可选择FTP比较空闲的时候来遍历,不会太多影响FTP服务性能,但实时性就比较差,不能将FTP的文件变化立刻体现到检索结果中去。两类程序可根据服务器性能来选择合适的类型。

搜索引擎Web端可以采用J2EE+AJAX来实现,用户检索时可选择精确检索和模糊检索,精确检索查询完全匹配的,模糊查询检索可以用相似性来检索。此外,针对每个独立的FTP主机,遍历其上爬虫程序建立于数据库的索引树结构,就可以建立起虚拟的FTP文件结构,从而可以在WEB程序上显示FTP的文件结构。

5 结束语

本文讨论建立基于局域网的单个FTP和多个FTP的搜索,根据FTP服务器的实际情况,选择适合的爬虫程序类型,建立索引树。对于本文设计构建的结果,可以将本系统推广于Internet,将爬虫程序置入需要索引的FTP上,或者通过外部间接获取索引,从而达到FTP的文件搜索效果,使得用户更加高效的找到所需要的文件。(作者:李俊青 季文天;编选:中国搜索研究中心)

参考文献

网络爬虫范文6

关键词:互联网视频网站;爬虫技术;获取数据

中图分类号:TN915.08 文献标识码:A 文章编号:1671-2064(2017)03-0030-01

在当前阶段中,随着计算机网络技术的不断完善,各个领域当中的数据在不断增加,从而使当前社会进入到大数据时代,这些数据可以为各个领域的发展提供良好的帮助。这种情况下,为了使互联互联网视频网站更好的为人们提供视频,就要更好的对这些数据进行获取。因此,加强对互联网视频网站使用爬虫技术获取数据的研究具有重要意义,促进我国互联网视频网站更好的发展。

1 互联网视频网站数据获取的特点

1.1 一般特点

随着社会的发展,科学技术的不断进步,计算机网络技术得到了飞速的提升,从而出现了大量的数据,其中就包括了互联网视频网站数据,在这些数据当中,就会体现出很多的特点,主要有以下几个方面:(1)数据体量巨大。在人们的生活当中,利用网络观看视频是主要的娱乐方式之一,因此,在观看的过程中,就会出现很多的网络信息,如用户的个人信息,用户对节目观看的信息,节目自身具有的信息等等,从而使其具有了数据体量巨大的特点;(2)数据类型繁多。在对视频网站进行应用时可以发现,在其中包含了很多形式的内容,如图片、视频、文字等,因此,就说明视频网站产生的数据出现了类型繁多的特点;(3)价值密度低。在视频网站运行的过程中,是连续不断的产生数据的,而在这些数据当中,包括了各个种类的信息,而在这些信息当中,有些信息存在的价值往往不是很高,不会影响到视频网站的发展;(4)处理速度快。这一特点就体现在人们对视频观赏时,能够立刻的产生数据,据相关部门统计,互联网视频网站每秒产生的数据是以PB为单位的[1]。

1.2 获取网页信息

在互联网视频网站数据当中,除了具有上述的一般特点之外,还具有获取网页信息的特点。在对视频网站开发的过程中,可以利用很多技术来完成,如英文超级文本预处理语言技术、面向对象程序设计语言技术等,虽然这些技术的方式具有一定差异,但是在对数据进行传输时,使用的原理相差不是很大,都是利用相应的HTTP协议,将数据传递到用户当中。并且,由于互联网视频网站数据具有上述的一般特点,因此,在其对数据进行获取时,还可以获取一些网页当中的信息,通过对网页中的信息进行应用,从而为视频网站更好的运行提供了帮助[2]。

2 互联网视频网站获取数据时爬虫技术的应用

2.1 网络爬虫的算法分析

在应用爬虫技术对互联网视频网站数据进行获取时,是利用相应的算法来完成的,而在当前的算法当中,主要有以下三种:第一种是深度优先搜索算法,该算法是爬虫技术当中最基础的算法,同时也是出现最早的一种算法,其目标是要到达结构的最外结点,即在搜索时不能将具有链接的HTML文件检索出来。该算法运行当中,首先沿着一条链接进行检索,直到边缘节点为止,将该条连接中的所有数据搜索出来,然后在对另一条链接进行搜索,从而使视频网站获得了相应的数据。使用该种算法获取数据时,能够准确的检索出整个文件中的数据,但是由于网络的复杂性,在对数据搜索时,常常会导致该算法中断,不能对其他链接进行检索;第二种为宽度优先算法,就是在视频网站信息获取的过程中,根据网站的结构不同,沿着宽度的方面,一层一层的进行搜索[3]。

2.2 算法改进

由于上诉的基本算法都存在一定的缺陷,对互联网视频网站的数据获取带来了一定的影响,其中最好优先搜索算法的缺陷较小,只是存在查全率不高的问题,因此,就要对该算法进行改进。在利用改进算法进行检索时,在对一个文件查找完成后,就算该文件与本次查找关系不大,但是也不会对其进行忽略,而是将其储存到相应的位置,对其进行深入的分析,分析出每个信息中是否会存在视频网站有用的信息,如果不存在这一类信息,才可以继续对其他文件进行检索,然后利用该种算法对整个网络进行检索,从而改善了查全率不高的问题,使互联网视频网站数据获取的效果更高[4]。

3 结语

综上所述,在当前的互联网当中,大数据为其发展提供了重要的帮助,但是,由于大数据具有的开放性、共享性等特点,在使用的过程中还会存在一定的风险,因此,在利用爬虫技术对互联网视频网站的数据进行获取时,要加强对数据风险的防范,能够保证网站的安全性、可靠性。

参考文献

[1]孔涛,曹丙章,邱荷花.基于MapReduce的视频爬x系统研究[J].华中科技大学学报(自然科学版),2015,09(05):129-132.

[2]邓炳光,郭慧兰,张治中.移动互联网用户行为分析系统中聚焦爬虫的设计与实现[J].重庆邮电大学学报(自然科学版),2015,11(03):359-365.

上一篇个人理财产品

下一篇堪舆之术