zoukankan      html  css  js  c++  java
  • 网络爬虫 简介

      网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫

     由于网络资源太多,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general?purpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源

      网页的抓取策略可以分为深度优先、广度优先和最佳优先三种。深度优先在很多情况下会导致爬虫的陷入(trapped)问题,目前常见的是广度优先和最佳优先方法。

    最佳优先搜索策略

      最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为“有用”的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。将在第4节中结合网页分析算法作具体的讨论。研究表明,这样的闭环调整可以将无关网页数量降低30%~90%。

    网页分析算法

    网页分析算法可以归纳为基于网络拓扑、基于网页内容和基于用户访问行为三种类型。

     

     网络爬虫的组成

     

      在网络爬虫的系统框架中,主过程由控制器,解析器,资源库三部分组成。控制器的主要工作是负责给多线程中的各个爬虫线程分配工作任务。解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉,爬虫的基本工作是由解析器完成。资源库是用来存放下载到的网页资源,一般都采用大型的数据库存储,如Oracle数据库,并对其建立索引。

     控制器
        控制器是网络爬虫的中央控制器,它主要是负责根据系统传过来的URL链接,分配一线程,然后启动线程调用爬虫爬取网页的过程。
     
    解析器
       解析器是负责网络爬虫的主要部分,其负责的工作主要有:下载网页的功能,对网页的文本进行处理,如过滤功能,抽取特殊HTML标签的功能,分析数据功能。
      
    资源库
       主要是用来存储网页中下载下来的数据记录的容器,并提供生成索引的目标源。中大型的数据库产品有:Oracle、Sql Server等。

    已有 1210 次阅读 2010-9-23 18:04 |个人分类:搜索引擎|系统分类:科研笔记|关键词:第一 网络爬虫

    第一个实现网络爬行功能的网络爬虫Wanderer(World Wide Web Wanderer)诞生于1993年,由Matthew Gray在MIT博士期间用Perl语言实现,本意是用来度量当时的互联网大小,并不是用来为搜索引擎服务的,也未公开发布。Matthew Gray后来成了Google的工程师。

    第一个公开发布的爬虫RBSE诞生于1994年,由两部分组成:负责抓取网页的“spider”和文本浏览器“mite”。

    第一个应用于搜索引擎的爬虫WebCrawler诞生于1994年,由Brian Pinkerton完成,这只爬虫起初只是桌面程序的一部分,后来发展到web,也就成了公开的搜索引擎的蜘蛛了

     

    参考:

    开源网络爬虫

    http://java-source.net/open-source/crawlers

    http://en.wikipedia.org/wiki/Web_crawler

  • 相关阅读:
    Flask 请求源码分析
    Flask 上下文管理
    flask-基础知识
    分布式爬虫
    数据结构
    webpack安装和入门
    vue相关
    vue入门
    修改npm全局安装模式的路径
    Vue2+VueRouter2+Webpack+Axios
  • 原文地址:https://www.cnblogs.com/youxin/p/2599917.html
Copyright © 2011-2022 走看看