网络爬虫英文翻译范文

2024-02-23

网络爬虫英文翻译范文第1篇

爬虫是一个网页自动搜索程序, 根据既定的抓取目标, 有选择地访问互联网上的网页与相关的链接, 获取所需要的信息, 为搜索引擎重要组成部分。文献[1]指出, 聚焦爬虫与通用爬虫的不同之处在于并不追求大的覆盖面, 而将目标定为抓取与某一特定主题内容相关的网页, 为面向主题的用户查询, 可实现搜索引擎对Deep Web网页数据的发现和索引。聚焦爬虫采用了一定的网页分析算法过滤与主题无关的链接, 保留有用的链接并将其放入等待抓取的URL队列, 然后根据一定的搜索策略从队列中选择下一步要抓取的网页URL, 并重复以上过程直到到达程序的某一条件时停止, 可以有效提高Deep Web数据发现的效率。

一个高性能爬虫需要注重以下几个方面。

1.1 程序执行效率

能抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为、工作有效性、及时性的关键所在。这两个部分的算法又是紧密相关的, 决定了爬虫程序的执行效率。

1.2 分布式爬行

文献[2]指出, 集中式的爬虫已经不能满足目前互联网的规模, 因此支持分布式的爬行, 处理和协调好各结点之间的交互, 也是一个重要环节。

1.3 硬件条件

由于网络环境及硬件资源、IP地址和带宽等因素造成的爬虫协同工作问题也是造成爬虫工作效率低的重要因素。

2 爬行网络环境

网页分析算法和URL搜索策略是聚焦爬虫程序的两个最重要的组成部分, 一定程度上决定了爬虫工作效率的高低。但除此之外, 仍有相当一部分工作时间是停留在爬虫选定了某个URL下载网页并打开时。这部分工作时间往往比程序内部的算法分析时间要更长, 其重要因素在于URL的无序分配导致网页数据通信缺少优化、分布式爬虫无法有效协同工作等问题。

因此, DNS解析也是网络爬虫的瓶颈之一, 因为有些域名请求要经过很多层服务器才能解析到, 或者因解析服务器的忙碌而超时。文献[3]指出, DNS查询占用整个爬行的时间高达70%。解决的方法有两种:一是提供DNS缓存, 二是建立异步DNS查询模块。在实际应用中一般会综合这两种方法。DNS解析子模块可以单独拿出来放在一台Server上做成DNS服务器, 这样可以采用更大的缓存和更多的查询线程。

2.1 DNS缓存服务器

IDC可安装本地DNS缓存服务器, 保存爬虫抓取的解析网页的域名与IP映射。default TTL=3600 (1hour) (缓存服务器保存记录的时间是1h。也就是告诉DNS保存域的解析记录为1h) ;将DNS缓存服务器地址加入到爬虫服务器的/etc/resolv.conf中。

2.2 异步DNS查询

(1) 创建多个DNS查询线程, 每个查询线程调用gethostbyname等同步的API, 主线程与查询线程之间通过MessageQueue连接, MessageQueue基于事件通知机制。该方法缺点是实际的并发受限于查询线程的个数。

(2) 基于非阻塞socket+事件驱动机制, 自行构造和解析DNS报文。这个跟常规的异步网络应用思路一致, 但是需要自行编写DNS协议构造和解析代码。

3 分布式爬行

普通单处理机系统受限于CPU的处理能力、磁盘存储的容量, 不可能具备处理海量信息的能力, 这就要求爬虫支持分布式协同工作。文献[4]指出, 一般说来, 爬虫的分布式爬行可分为内部分布式爬行和外部分布式爬行。

3.1 内部分布式爬行。

所有的爬行进程在同一个本地网络上运行并通过一个高速连接 (如LAN) 进行通信, 从远程Web站点下载网页时都利用相同的本地网络。采用这种方式, 硬件资源扩展方便, 几台PC就能增大磁盘容量, 提高I/0吞吐量, 做成一个小机群, 性价比较高。此时, 瓶颈主要是在网络出口带宽上。

3.2 外部分布式爬行。

当并行爬行的不同爬行进程在通过Internet相连的地理位置较远的不同地区运行时, 则这种爬行为外部分布式爬行。它的优势是网络带宽较富裕, 可以就近爬行周围的Web站点, 速度较快。在这种情况下, 重要的是确定不同地理位置的爬行进程问进行通信的频率和数量。因为进程间的带宽存在限制, 有时甚至是拥塞不堪而导致堵塞。分布式爬行的主要问题是当多个爬行节点并行下载网页时, 不同的节点可能会多次下载同一个网页。为了避免这种交叉, 并同时提高网页下载质量, 并行节点之间应该进行充分的通信, 在网页下载上达成协调, 以便并行、一致、高效率地下载网页。

4 URL分配策略

URL分配模块是爬虫的重要组成部分, 主要考虑两个问题。

(1) 在节点间划分URL的策略, 即如何分配下载任务。

(2) 优化性能, 比如负载均衡、协同工作的开销等。

目前一般有两种分配模式可以参考:

4.1 静态分配模式

各节点按事先规定的URL范围独立下载。若遇到不属于本节点的URL, 有3种处理方法: (1) 放弃; (2) 下载; (3) 传送到URL隶属的节点。静态分配模式的优点是配置比较简单。关键在于如何划分URL范围, 有效利用各个节点的资源。

4.2 动态分配模式

由一个统一的URL管理器统一调度根据各节点的情况动态地分配URL。该模式的优点是能做到负载均衡, 使各个节点下载最大化。缺点也是很明显的, 要有一个专门的URL管理器, 增大了成本和配置难度。URL管理器需要与各节点保持高速实时通信, 存在单点故障。由于要存放所有节点需要的URL集合, 当下载规模增大时, 本身也是一个瓶颈。

5 结语

制约爬虫的外部分布式爬行的客观及硬件因素较多, 且环境复杂, 一般可通过定义URL分配策略及配置异步DNS查询实现高性能内部分布式爬行。基于URL动态分配方式成本高、配置难度大, 使用配置成本低效果明显的静态分配方式实现, 爬行效率更高, 如图1所示。因此, 开发聚焦爬虫程序时根据硬件条件、网络环境、带宽等因素, 合理设计URL分配策略, 配合高效的DNS查询方法可有效提高分布式爬行的性能。

摘要:爬虫作为网页搜索下载程序, 其网络爬行性能决定了搜索引擎的性能和数据质量。本文通过分析聚焦爬虫的特点和网络环境, 总结出三类制约爬行性能的主要问题, 分别是DNS查询及缓存设置、内外部分布式爬行特点和网页URL静态与动态分配策略。结论为聚焦爬虫使用URL静态分配策略结合异步DNS查询及缓存设置, 在内部分布式爬行时可有效提高网络爬行性能。

关键词:爬虫,DNS,URL分配,分布式爬行

参考文献

[1] 周立柱, 林玲.聚焦爬虫技术研究综述[J].计算机应用, 2005, 25 (9) .

[2] 周德懋, 李舟军.高性能网络爬虫:研究综述[J].计算机科学, 2009, 36 (8) .

[3] Heydon A, N~ork M.Mercator:Ascalable, extensible Web crawler[J].WorldWide Web, 1999, 2 (4) :219~229.

网络爬虫英文翻译范文第2篇

一、爬虫系统架构

一般的爬虫爬取网页, 我们可以把需要爬取的网页链接看做是一个树状结构, 首先确定一个起始URL节点, 然后和树的遍历一样, 不断确定新的超链接节点进行爬取, 直到最后一个超链接, 对于爬取超链接的方式, 我们采用的是广度优先算法。

一般的爬虫技术系统架构有主从模式, 自治模式和混合模式三大类。本文所采用的就是主从模式架构, 此架构指定一台主机作为Master节点, 对运行中的从机Slave节点进行管理调度。而每个从机中Slave节点只要获取任务, 然后返回新生成的任务给控制节点在不和其他Slave节点通信情况下对任务进行处理。而控制节点中用一个地址列表记录所有爬取信息, 从而达到对Slave节点进行通信并实现管理调度。控制节点在系统中爬虫数量发生变化时会更新地址列表信息, 这个过程对于系统中所有爬虫透明。主从架构模式结构简单, 增加Slave节点快捷方便, 任务分配率高。然而, 架构过于依赖Master节点, 可靠性和效率上可能不能达到特别理想的状态。

二、分布式模块系统结构设计

本文所设计的是基于Scrapy框架实现的一种利用主从模式并采用广度优先遍历算法进行遍历URL节点的爬虫系统, 该系统主要由Client, Master, Slave三个部分组成。Client端负责给Master提供需要爬取的任务并从Master获取返回的任务结果;Master端和缓存数据库Redis交互确定待爬取网页URL, 并将要爬取的URL存储到Redis数据库。Slave端依照自己的性能向Master端获取Redis数据库存储的任务, 然后执行, 并且接受Master端对自己的实时监控和调度。

三、分布式模块系统的优化

(一) 主从模式的优化

从上文的介绍, 我们发现传统的主从模式还是有一些弊端, 我们采用半分布式拓扑结构优化并简化主从模式。我们可以选择多个性能较高的节点作为多个Master节点, 并以每个Master节点为基础分别建立自己的分布式爬虫系统, 多个Master节点之间再采用全分布式非结构化拓扑结构连接起来, 从而实现对传统主从模式的优化。

(二) 任务分配的优化

本文我们采用二级哈希映射算法分配任务来对任务分配进行优化。该算法中, 假设最多可以被用作Slave节点的主机数为a, 系统当前运行的节点数目是node_num。相应的每个节点有两张表:一张是虚拟节点表;另一张是实际节点表。我们建立一个存储boolean类型的数组Array_max[a]表示虚拟节点表, 若对应相同编号的元素在虚拟节点表和实际节点表中均存在, 那么该元素的值为true, 否则为false;建立一个int类型的数组Array_node[node_num]储存实际节点表, 每个元素对应实际Slave节点的ID。使用第二次哈希映射运算进行本次分配。我们将第二次哈希映射算法所计算出来的值直接对应实际节点数组, 其在Array_node数组中对应的元素就是实际Slave节点的ID。假设经过第一次哈希映射算法后剩余的url为second_url, 我们有ID=Array_node[hash (second_url) %node_num]。

四、爬虫模块策略优化

(一) 去重与增量爬取

去重与增量爬取, 确保爬虫爬取不同的信息, 极大的改善了爬虫的性能。本文所设计的爬虫具体去重的流程如下图1所示。

(二) 对防爬虫网站屏蔽的优化

现如今网站开发者也了解一些爬虫开发者会在自己的网站爬取数据用作它途, 并且会对网站的正常运作造成影响, 所以大多数网站开发者会设计一些防爬虫策略以阻止网络爬虫对自己的网站进行爬取。一般网站认定爬虫的标准是同一个ip大量重复访问此网站, 一旦认定就会剥夺该ip的访问权限或者对该ip设置验证。因此, 本文所设计的爬虫系统必须采取合适的应对措施。

具体的应对措施是设计并开发代理ip池, 从ip池获取ip步骤具体流程如图2所示。

五、总结

通过以上介绍, 我们采用的是一种主从结构的基于广度优先遍历算法设计的爬虫, 主机向从机发布指令, 并使用了Redis数据库进行存储以及热更新技术, 大大提高了可扩展性以及存储速率, 但因此导致爬取效率低, 可靠性低。因此我们使用半分布式拓扑结构优化简单主从模式, 并且使用二级哈希映射算法进行任务分配, 一定程度上提高了可靠性和效率。

摘要:本文设计优化传统的分布式爬虫。系统框架采用C++语言, 使用Redis数据库进行url存储与调度分配, 采用去重与增量爬取优化了服务器的资源效率并且运用IP池解决了一些网站部分反爬虫机制;最终系统运行成功并达到预期的效果。

网络爬虫英文翻译范文第3篇

进入21世纪,人类当之无愧地迈入信息时代。 日新月异的科学技术成果和知识也不断地充斥着社会,甚至出现了“信息爆炸”的局面。 据统计,2004年至2014年10年间,美国发表了3454354篇论文 , 中国位居 第二位发 表了1369834篇 , 德国90112篇 ,英国805372篇 ,其次是日本 、法国 、加拿大等国 。 我们在21世纪所要处理的知识总量 将要大大 地超过我 们在过去2500年间历史长河中所积累的全部知识总量 。 在这种形式之下,信息之间、不同文化之间、不同语言之间互相交流也就愈发重要,对于翻译的需求也就越来越大。 正是基于此种情况,越来越多的电子翻译工具顺势而生。 目前翻译实践中经常使用的电子工具有以下几类:

1.1计算机辅助翻译(CAT)

计算机辅助翻译,英文全称为computer-assisted translation或者computer-aided translation,简称CAT。 与传统的机器翻译不同的是,计算机不再作为翻译的主体,直接将源语言转化成目标语得到最终的译文,而是作为译员的翻译辅助工具,译员则是翻译过程的主导者。 也就是说,翻译过程中不存在字对字、 词对词,按照字面意思生硬翻译的情况,而是根据译者的志愿选择性的进行翻译过程,最终得到的译文也更加流畅,大大提供了翻译效率和翻译质量。 目前国内外比较常见的四种CAT软件分别是Trados,Deja Vu,Wordfast和雅信,这四类软件为译员们的工作提供了便利。

1.2语料库

语料库并不是翻译学上的专业术语,也不是语言学上的专业术语。 某个领域、某个行业内的术语进行提取与定义后,以识别他类研究所集成的语料合集,就可以叫做一个语料库。 如传统纸质词典出现的人体部位图上的语料,地理知识的语料都可以称之为小型的语料库。 信息时代下的语料库更是可以被计算机检索,故而以翻译为目的收集的双语语料库进入到了翻译人员的视野。 双语平行语料库中包括源语言文本,又包括目标语言文本, 因此译员进行翻译时可以借助语料库收集的对照语料,提高翻译的速度和质量。

1.3电子词典

电子词典与传统纸质词典相对,可以分成两类。 一类为电脑在线翻译词典,如有道词典,金山词霸,灵格斯桌面电子词典等等此类软件词典。 另一类则是电子工具翻译词典,如卡西欧电子词典,好记星电子词典,步步高电子词典等等。 这些电子词典都是将大量的纸质字典电子化后, 如牛津高阶英汉双解词典, 柯林斯英汉双解词典等导入到机器中实现快速查词的功能。 相比于笨重的纸质词典,电子词典小巧便捷,一般附有更新词典的功能,不必要担心纸质词典更新慢的问题,而且节省纸张,既环保又方便。 相比于在线电子词典,电子词典的优势也很明显:在线词典给出的词义单一,而电子词典中收录的词汇、用法较为全面,但在线词典给出的用法时效性强,这也是电子词典无法比拟的。 翻译过程中,活用电子词典和在线词典,结合语境选出最佳的翻译方案,无疑能大大提高翻译质量。

1.4互联网络

21世纪的今天 , 人类的所有活动可以说都离不开互联网 , 翻译也是这样。 互联网为翻译教学、翻译练习、翻译实践提供了丰富的资源。 译者在进行翻译的过程中,为了达到翻译出作者本意的目的,仅仅凭借单词与单词之间、句子与句子之间的意思是不够的,了解文字背后所包含的背景、专业知识也同样重要。 这个时候,互联网就是译者最好的助手。 互联网集大众智慧于数字空间中,为译者插上了飞翔的翅膀,使他们可以轻松查阅全球资源,翻译的精度越发锐利。

2互联网络上的语言翻译资源

要想在互联网上搜索数据不是件难事, 但是想要搜到适用的信息却不是件易事。 德国翻译学者奥特莱斯米勒总结出三种网络搜索的多级别方法,分别是单位搜索、主题搜索和关键词搜索。

单位搜索即Uniform Resource Locator, 是一种通过访问特定网站来获取值得信任的信息的方式, 使用这种搜索方法时需要从当前网站搜索大量相关信息,工作量较大,但是搜索出来的信息较为可靠。 如某华北理工大学研究生想要查看研究生毕业论文答辩相关规定, 应该从华北理工大学主页www.heut.edu.cn处查找。

主题搜索即Subject Tree,这种方法是把需要搜索的信息归类, 然后从互联网特定的主题下寻找。 万维网上的资源纷繁冗杂,没有特定的分类方式,将网络上的资源进行整合分类的一般是万维网下的各种搜索引擎,如我们所熟悉的谷歌、百度等。 使用这种搜索策略时, 搜索人注意要能够在某一搜索引擎上找到相符合的主题。 如你想要下载某一大学的校徽,你可以从百度图片的主题下开始搜索。 但是实际使用时, 如果单纯使用主题搜索,工作量非常之大,而且还不一定能找到需要的信息,因此,在实际搜索中我们往往将上两种搜索策略同第三种策略交叉使用,搜索也能事半功倍。

关键词搜索, 顾名词义这种搜索策略是通过关键词查找相关信息,也是我们经常使用的搜索策略。 如我们在百度上输入关键字Trados,显示出的相关结果有785000个,在搜狗引擎上同样输入Trados,得到43686条结果。 这说明搜索引擎可查找到的信息数量上虽然惊人,但也不可能显示出所有相关信息。

根据以上三种策略, 可以总结出互联网中一些语言翻译资源。

其一为特定网站中的翻译资源。 如可以访问联网的语言数据库,http://www.itu.int这个网站可以查询国际通讯联盟联机的多语言术语数据库,http://europa.eu.int/eurodicautom则可以查找欧盟翻译服务部联机的术语数据库。

其二为在线词典。有道http://youdao.com,金山词霸http://cb. kingsoft.com等联网查询双语资源 ;Merriam-Webster可以查询类属、词语用法词典,网址为http://m-w.com

其三为百科全书类。 百度百科http://baike.baidu.com、维基百科http://zh,wikipeida.org等通用百科全书, 以及通过PC Webopedia查询各领域的专业百科全书 ,网址为http://pcwebopedia. com.

以上这些属于较为专业、值得信赖的网址,在这些网站上查询到的资源也比较权威。但是由于现今信息更迭速度空前快速, 很多资源在这些网站也查询不到。我们在实际应用中,还是多使用搜索引擎,如百度、搜狗、360、谷歌等。 在输入关键字后,搜索引擎会为我们显示出与关键字相关的搜索条目。 相关的范围十分广泛,只要网页中存在与关键字相同或相似的内容,搜索引擎就可能呈现该条内容, 当然显示相关条目的多与少是取决于搜索器本身搜索能力的。

3结语

现今社会日新月异,科学技术成果更新换代速度空前,众多的电子翻译工具应运而生。译员也要紧跟时代步伐,熟练掌握各种电子翻译工具的使用方法,让这些电子翻译工具为我所用,提高自身翻译的速度和精度。

摘要:信息时代下出现了多种电子翻译工具,如CAT,语料库,电子词典及互联网络。这些电子翻译工具在帮助译员更快更好地处理翻译任务方面发挥了重要作用。互联网作为21世纪人类生活离不开的工具之一,在翻译方面具有独特的优势。译员采用单位搜索、主题搜索和关键词搜索能更快、更准地在互联网络上查出对自己有用的语言翻译资源。因此,译员可以在使用其他翻译工具的同时,结合互联网进行高质量的翻译。

上一篇:网络游戏开发创业范文下一篇:文明部室主要事迹范文