`
风雪涟漪
  • 浏览: 506905 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:9006
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:18384
社区版块
存档分类
最新评论

web爬虫

阅读更多

这篇文章主要是对web爬虫有个大概的认知。

 

概览web爬虫

web爬虫主要功能是从web中发现,下载以及存储内容。广泛应用于各种搜索引擎中。

一个典型的web爬虫主要由以下的部分组成:

 

  • 能被爬虫识别的URL库。
  • 文档下载模块,主要用于从web中下载内容。
  • 文档解析模块,用于解析下载文档中的内容,如解析HTML,PDF,Word等等。这个模块还要提取网页中的URL和一些对于索引有用的数据。
  • 存储文档的元数据以及内容的库。
  • 规范化URL模块,把URL转成标准的格式。
  • URL过滤器,爬虫可以过滤掉不需要的URL。
设计与实现上述模块,主要取决于你的爬虫到底要爬取什么以及要抓取的范围。最简单的例子是从一个已知的站点抓取一些网页,这个爬虫代码用一页纸就可以写完。互联网应用中,可能会碰到这种十分简单的需求,但是如果要实现一个爬取大量文档的爬虫,就不是那么简单了。一般来说这个爬虫就是N个应用组成,并且难点是基于分布式的。

爬虫的两个阶段

一个典型的爬虫主要有如下两个阶段

 

  1. URL库初始化然后开始爬取。
  2. 爬虫读取没有访问过的URL,来确定它的工作范围。

对于要抓取的URL,要进行如下的不重
  1. 获取URL的内容
  2. 解析内容,获取URL以及所需的数据。
  3. 存储有价值的数据。
  4. 规范化新抓取的URL。
  5. 过滤掉不需要爬去的URL。
  6. 把要抓取的URL更新到URL库中。
  7. 重复步骤2,直到抓取的网页深度完毕为止。
从广度进行分类的话,爬虫有两类。通用型和集中型。通用型是采集所有能解析的文档。它们主要通过URL过滤技术来实现这一过程。而集中型爬虫主要爬取特定内容的文档,如爬取sina博客,格式为固定内容也是我们感兴趣的。

幸运的是,有开源的爬虫可以使用

在java中,nutch和heritrix都提供了爬虫的实现。Nutch是apache lucene的子项目,地址是http://lucene.apache.org/nutch/。这个项目非常稳定,并且文档丰富。Nutch把多个网页存储在一个文件中。对于大的爬虫来说,这么降低I/O读写,性能更加优秀。

Heritrix是互联网存档的web爬虫。项目地址为http://crawler.archive.org/。Heritrix专注于大型爬虫的实现。许可证为LGPL。

另外提一下,还有一个项目值得关注,那就是apache tika。项目地址为http://tika.apache.org/。tika使用解析器从文档中发现以及提取元数据和文本内容。





 

 

分享到:
评论
4 楼 春天好 2016-06-13  
写的很不错

推荐一个免费好用的云端爬虫开发平台
不需要安装环境,云上运行爬虫
http://www.shenjianshou.cn/
3 楼 cpu88 2014-09-27  
网络爬虫

爬来爬去,网上信息可以瞬间扩散,

但是也意味着,没有人愿意原创,原创的东西会被抓取,变成别人的,所以网上的东西变得肤浅.重复.

打开一个网页,密密麻麻都是标题党,包括百度 新浪等,很多信息文不对题.
因为原创I会被抓取,所以大家都只创造标题,使得互联网中文世界里看不到深度的文章,

微信,弄了一个相对封闭的环境,所以自媒体在移动互联网上要发达一些,原创的东西多一点.
如果有一天,搜索引擎对移动互联网的搜索,爬虫对移动互联网的搜索 和对普通互联网的搜索一样方便的话,自媒体也会死翘翘.

偌大一个互联网世界,确没有人出来保护原创.

只有我们,非常艰难地寻找新的技术手段来,减少抓取对原创的伤害.

也许有一天,互联网老无所依,请把她埋在 埋在爬虫里.

华虫网 点点看
2 楼 cxmin121 2010-12-10  
获取source (url or urls in table)
使用rule来将得到的数据存储在target中。
重复这个过程,直到将网站感兴趣的内容都存储到本地
1 楼 yuhe 2010-12-08  
是连载么?

相关推荐

    搜索引擎Web爬虫

    搜索引擎Web爬虫是互联网信息获取的关键技术之一,它在数据挖掘、内容分析、网站排名等多个领域都有着广泛的应用。Web爬虫,也称为网络蜘蛛或网页抓取器,是一种自动浏览互联网并下载网页的程序。它按照一定的规则...

    基于web爬虫基本原理的新技术专题课程论文

    在当今信息化社会,网络数据的海量增长为信息获取带来了挑战,而Web爬虫作为自动提取网络信息的重要工具,对于数据挖掘、学术研究以及商业分析等领域具有重大价值。本篇论文旨在深入探讨基于Web爬虫的基本原理及其新...

    web爬虫一个WEB爬虫的实例——JAVA.

    标题:"Web爬虫一个WEB爬虫的实例——JAVA." 描述:"web技术爬虫可用很犀利" 标签:"爬虫技术" 部分代码内容分析与详细解释: 该Java代码展示了一个简单的Web爬虫(SearchCrawler)类,用于在指定的网站上搜索...

    web爬虫合集.zip

    【标题】"web爬虫合集.zip" 是一个包含了多种Web爬虫相关资源的压缩文件。这个合集可能包括了不同编程语言实现的爬虫代码示例、爬虫框架的介绍、爬虫项目的源码以及关于网络爬虫的教程资料。 【描述】提到的 "web...

    Python-用python编写的一个微型Web爬虫

    在本话题中,我们将深入探讨如何使用Python来编写一个微型Web爬虫。Web爬虫是一种自动抓取互联网信息的程序,它能够帮助我们高效地获取大量网页数据,用于研究、分析或构建各种应用。 首先,我们要了解Web爬虫的...

    毕业设计web爬虫,基于web爬虫的疫情监测系统源码+数据库

    毕业设计web爬虫,基于web爬虫的疫情监测系统源码+数据库 建立数据库中的表 python manage.py makemigrations python manage.py migrate python manage.py runserver --nothreading --noreload 0.0.0.0:8001 修改...

    Ruby-Wombat轻量级的RubyWeb爬虫

    Ruby-Wombat是一个专门为Ruby开发者设计的轻量级Web爬虫工具。它的主要目的是帮助开发者高效地从网页上抓取和解析结构化的数据。Wombat以其简洁的Domain Specific Language(DSL)著称,允许用户以优雅的方式定义...

    web爬虫程序(亲测可用,含sql文件)

    【web爬虫程序(亲测可用,含sql文件)】是一个关于网络数据抓取的实践项目,其中包含了一个实现爬取功能的Java程序SohuNews.java和相关的SQL数据库文件。这个程序旨在从互联网上自动收集信息,特别是针对搜狐新闻...

    广域网分布式Web爬虫

    **广域网分布式Web爬虫概述** 广域网分布式Web爬虫是一种用于大规模网络数据抓取的技术,相较于局域网爬虫,它具有更广泛的数据覆盖能力、更高的爬取效率和更好的可扩展性。分布式爬虫通过将爬取任务分散到多个节点...

    Python实现的Web爬虫

    Python是一种广泛应用于Web爬虫开发的编程语言,其简洁明了的语法和强大的库支持使得爬虫编写变得高效且易维护。在这个名为"Python实现的Web爬虫"的主题中,我们将深入探讨Python在爬虫开发中的核心概念和技术。 ...

    ECommerceCrawlers Web爬虫 v11.zip

    《电子商务Web爬虫技术解析与应用》 在数字化时代的今天,电子商务已经成为商业活动的重要组成部分,而数据挖掘在其中起着至关重要的作用。ECommerceCrawlers Web爬虫v11便是一个专门针对电子商务领域的数据抓取...

    pyReptile是一个快速的高级Web爬虫和Web抓取框架

    **PyReptile:快速高效的Web爬虫框架详解** PyReptile,作为一个专为Python开发者设计的高级Web爬虫框架,旨在简化网页抓取和数据提取的过程。它以其高效和灵活的特点,广泛应用于数据挖掘、网站监控以及自动化测试...

    基于Java语言的Web爬虫设计与实现源码分享

    本开源项目是一款基于Java语言的Web爬虫设计实现,包含308个文件,涵盖130个Java源代码文件、75个GIF图片、25个HTML文件、25个JavaScript文件、20个CSS文件、7个文本文件、5个XML文件、4个PNG图片、2个Git忽略文件、...

    毕业设计web爬虫,基于web爬虫的疫情监测系统

    毕业设计web爬虫,基于web爬虫的疫情监测系统

    Web爬虫的技术原理及实现机制

    Web爬虫,又称为网络爬虫或网页蜘蛛,是一种自动浏览和索引互联网信息的智能程序。它通过遵循HTTP协议,模拟用户行为,遍历网页并抓取所需内容,为搜索引擎或其他数据分析应用提供数据来源。从广义上来讲,任何能够...

    Java-Web-crawler-spider.rar_JAVA web 爬虫_Java spider_crawler_spid

    在Java领域,实现Web爬虫技术可以帮助开发者获取大量网页数据,进行数据分析、搜索引擎优化、市场研究等多种用途。本资源"Java-Web-crawler-spider.rar"包含了一套Java编写的Web爬虫源码,提供了智能网罗信息的能力...

    Python-Sukhoi简约和强大的Web爬虫

    Python Sukhoi是一款高效且设计简洁的Web爬虫框架,专为那些寻求在Python中进行网页抓取的开发者而设计。这款爬虫以其强大的功能和灵活性而受到关注,尤其适合处理复杂的网页抓取任务。在深入探讨Sukhoi之前,我们...

    spidy简单易用的命令行Web爬虫

    **Spidy:简单易用的命令行Web爬虫** 在Python开发领域,Web爬虫是数据挖掘和自动化信息处理的重要工具。Spidy是一款强大的、基于命令行的Web爬虫,专为那些寻求简洁高效解决方案的开发者设计。它以其易于理解和...

Global site tag (gtag.js) - Google Analytics