程序设计】网络爬虫是什么?

2020-12-17 15:47发布

请教下网络爬虫的概念

请教下网络爬虫的概念

16条回答
爱梦 - 拿来吧你
2楼 · 2020-12-18 09:33

简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。

yuixan
3楼 · 2020-12-18 10:11

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。


三岁奶猫
4楼 · 2020-12-18 10:31

网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络爬虫算法。使用Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索。


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

下面我们来分析网络爬虫具体要做哪些核心工作:

通过网络向指定的 URL 发送请求,获取服务器响应内容。

使用某种技术(如正则表达式、XPath 等)提取页面中我们感兴趣的信息。

高效地识别响应页面中的链接信息,顺着这些链接递归执行此处介绍的第 1、2、3 步;

使用多线程有效地管理网络通信交互。

如果直接使用 Python 内置的 urllib 和 re 模块是否能写出自己的网络爬虫呢?答案是肯定的,只是比较复杂。就像我们要从广州去韶关,走路可以去吗?答案是肯定的,只是比较麻烦。

下面继续分析网络爬虫的核心工作:

向 URL 发送请求,获取服务器响应内容。这个核心工作其实是所有网络爬虫都需要做的通用工作。一般来说,通用工作应该由爬虫框架来实现,这样可以提供更稳定的性能,开发效率更高。提取页面中我们感兴趣的信息。这个核心工作不是通用的!每个项目感兴趣的信息都可能有所不同,但使用正则表达式提取信息是非常低效的,原因是正则表达式的设计初衷主要是处理文本信息,而 HTML 文档不仅是文本文档,而且是结构化文档,因此使用正则表达式来处理 HTML 文档并不合适。使用 XPath 提取信息的效率要高得多。识别响应页面中的链接信息。使用正则表达式可以实现这个核心工作,但是效率太低,使用 XPath 会更高效。多线程管理:这个核心工作是通用的,应该由框架来完成。


大冬瓜
6楼 · 2020-12-18 13:36

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

产生背景

随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。

分类

网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。 实际的网络爬虫系统通常是几种爬虫技术相结合实现的。


1234
7楼 · 2020-12-18 14:38

网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。在大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。


此时,我们可以使用网络爬虫对数据信息进行自动采集,比如应用于搜索引擎中对站点进行爬取收录,应用于数据分析与挖掘中对数据进行采集,应用于金融分析中对金融数据进行采集,除此之外,还可以将网络爬虫应用于舆情监测与分析、目标客户数据的收集等各个领域。


小狮子
8楼 · 2020-12-18 14:54

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

灰机带翅膀
9楼 · 2020-12-20 13:42

网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络爬虫算法。使用Python可以很方便地编写出爬虫程序,进行互联网信息的自动化检索。

搜索引擎离不开爬虫,比如百度搜索引擎的爬虫叫作百度蜘蛛(Baiduspider)。百度蜘蛛每天会在海量的互联网信息中进行爬取,爬取优质信息并收录,当用户在百度搜索引擎上检索对应关键词时,百度将对关键词进行分析处理,从收录的网页中找出相关网页,按照定的排名规则进行排序并将结果展现给用户。在这个过程中,百度蜘蛛起到了至关重要的作用。

那么,如何覆盖互联网中更多的优质网页?又如何筛选这些重复的页面?这些都是由百度蜘蛛爬虫的算法决定的。采用不同的算法,爬虫的运行效率会不同,爬取结果也会有所差异。所以,我们在研究爬虫的时候,不仅要了解爬虫如何实现,还需要知道一些常见爬虫的算法,如果有必要,我们还需要自己去制定相应的算法,这些在后面都会为大家详细地讲解,在此,我们仅需要对爬虫的概念有一个基本的了解。

除了百度搜索引擎离不开爬虫以外,其他搜索引擎也离不开爬虫,它们也拥有自己的虫。比如360的爬虫叫360Spider,搜狗的爬虫叫Sogouspider,必应的爬虫叫Bingbot

如果想自己实现一款小型的搜索引擎,我们也可以编写出自己的爬虫去实现,当然,虽然可能在性能或者算法上比不上主流的搜索引擎,但是个性化的程度会非常高,并且也有利于我们更深层次地理解搜索引擎内部的工作原理大数据时代也离不开爬虫,比如在进行大数据分析或数据挖掘时,我们可以去一些比较大型的官方站点下载数据源。但这些数据源比较有限,那么如何才能获取更多更高质量的数据源呢?此时,我们可以编写自己的爬虫程序,从互联网中进行数据信息的获取。所以在未来,爬虫的地位会越来越重要。


相关问题推荐

  • 回答 9

    netsh interface ip set address name=本地道连专接属 source=static addr=10.161.0.32 mask=255.255.255.0  netsh interface ip add address name=本地连接 addr=1.1.1.1 mask=255.255.255.0  netsh interface ip set addres......

  • 回答 7

    synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用...

  • 回答 2

    VB.Net是一种简单,现代,面向对象的计算机编程语言,由微软开发,将.NET Framework和公共语言运行库的强大功能与作为Visual Basic标志的生产力优势相结合。

  • 回答 1

    感觉scala 写出来的就是文言文,短符号用的太多,而且随场合不同含义还会不同,感觉比较难记忆

  • 回答 5
    已采纳

    1、需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team2、测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testing leader or testing manager3、用例设计:根据...

  • 回答 10

    王者荣耀英雄联盟和平精英都可以啊。

  • 回答 1

    有很大的实用性5G技术是一种比4G技术提升了近100倍,理论下载速率达到了10Gbps,而实际下载速率一般不超过5Gbps。但是,这也已经很快了,一部电影一秒钟就下载完了!根据普通人而言,在5G的时代,可以得到更好的发展,其实大可以围绕快这一个字来做文章。因为...

  • 回答 4

    家里姐姐姐夫做的开发,觉得前景比较好,然后大学专业就学习的计算机,

  • 回答 3

    IT行业前景还是不错的,其中Java就业方向是最多的,有:1、企业e69da5e887aa7a686964616f31333433626437级应用开发企业级应用开发大可以做全国联网的系统,小到中小企业的应用解决方案。多数没有前端开发的通常是从一个服务器接收数据,处理后发给另一个处理...

  • 回答 2

    1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。2、下面对于【第一部分】的推荐内容,目的是让你尽快成为一个可以参加工作的Java开发者,更适用...

  • 回答 5

    DW是网页前端开发综合性非常强的工具,特别是现在的CS6版本,可以集成开发智能机应用,可以实时设计不同分辨率下的响应式网页,支持CSS3等优越功能。

  • 回答 4

    我了解到的,整体还是不错的,在招聘网站上,有很多招聘,工资也都不少

  • 回答 1

    Ruby on Rails这对缺乏编程经验的人更易于掌握,最大的优点是易于阅读,Ruby是一种动态、面向对象的脚本语言,它被大量应用于Web开发。包括Groupon和GitHub在内的网站都在各自的后端上使用Ruby。由于不需要学习大量命令,Ruby学起来更容易一点。虽然Ruby是一...

  • 回答 1

    1.一开始的时候都是发动亲朋好友帮忙转发获取关注度,面熟了之后开展活动就会很方便2.与其他的之后合作或者是大V合作,让他们帮您宣传推广,不过有时候要付费。3.在社群互动,获得知名度和好感度之后吸引大家关注公众号群里进行交流4.免费送福利进行宣传赠送...

  • 回答 1

    1

没有解决我的问题,去提问