爬虫是神马搜索爬虫??

爬虫是什么,爬虫能干啥,爬虫怎么爬,一篇文章教会你所有 - python热爱者 - 博客园
随笔 - 38, 文章 - 0, 评论 - 6, 引用 - 0
这篇文章的定位是,给有一些python基础,但是对爬虫一无所知的人写的。文中只会涉及到爬虫最核心的部分,完全避开莫名其妙的坑或概念,让读者觉得爬虫是一件非常简单的事情,而事实上爬虫确实是一件非常简单的事情(如果你不是以爬虫为工作的话)。
本文分为如下几个部分
解析代码介绍
chrome检查工具介绍
简单理解网络爬虫就是自动抓取网页信息的代码,可以简单理解成代替繁琐的复制粘贴操作的手段。首先必须声明,爬虫的对象必须是你已经看到的网页,比如你不能说你想找到知乎上哪个用户的关注人数最多,就希望通过写一个爬虫来帮你爬到答案。你必须明确地知道这个人,找到他的主页,然后才能用爬虫来抓取他页面上的信息。下面我们用一个简单的例子来展示爬虫的工作流程。感觉多数教程第一篇都使用的是豆瓣top250,我们这里换一个,抓取CSDN首页的文章标题,链接在,页面样子是这样的
抓取标题完整代码如下
import requests # 导入网页请求库
from bs4 import BeautifulSoup # 导入网页解析库
r = requests.get('https://www.csdn.net/')
soup = BeautifulSoup(r.text, 'html.parser')
content_list = soup.find_all('div', attrs = {'class': 'title'})
for content in content_list:
print(content.h2.a.text)
这样就会打印出所有标题,展示一部分如下
上述过程是一个最简单的完整爬虫流程,可以看出它的功能就是把那些标题复制粘贴到一起,免除了手动操作的繁琐。其实爬虫一般就是做这些事的,比如我们需要用链家的数据进行分析,看到链家的页面是这样的
我们想获取每个房子的标题、几室几厅、多少平米、朝向、装修、价格等等字段,就可以通过爬虫进行定位,自动化抓取这100页所有房子的这些字段信息。
注:如果还没有安装上面两个库的读者可以在命令行下分别运行下面两行命令完成安装
pip install requests
pip install beautifulsoup4
知道了爬虫是用来干什么的之后,我们来介绍一些最常见到的概念
URL中文称为统一资源定位符,其实可以理解成网页的链接,比如上面的https://www.csdn.net/就是一个URL。
但是更广义的URL不只是我们常看到的网页资源链接,而是资源在网页中的定位标识。我们通常说的网页是一个资源,网页中加载的每一张图片也是一个资源,它们在互联网中也有唯一的定位URL。比如我们从CSDN网页上随便找一张图片
这个链接https://csdnimg.cn/feed/f4cd810aded9edb16a8b8.jpg就是这个图片资源的定位符,将这个链接输入浏览器中就会显示出这张图片,所以说这张图片也对应一个URL。
不过知道这么回事就好,我们通常所说的传入URL指的就是把网页的链接传进去。上面代码中
r = requests.get('https://www.csdn.net/')
就是在将URL传入请求函数。
2.网页请求
说到网页请求,就有必要讲一下我们平常浏览网页时,信息交互的模式大概是什么样的。我们平常用浏览器浏览网页的时候,鼠标点了一个链接,比如你现在点击,其实浏览器帮你向这个网页发送了请求(request),维护网页的服务器(可以理解成云端的一台电脑,在维护这CSDN上的各个网页)收到了这个请求,判定这个请求是有效的,于是返回了一些响应信息(response)到浏览器,浏览器将这些信息进行渲染(可以理解成组合编译展示),就是你看到的网页的样子了。
而现在我们要用代码来模拟这一过程。上面的requests.get就是让代码帮你向这个网页发送了这个请求,如果请求被判定为有效,网页的服务器也会把信息传送给你,传送回来的这些信息就被赋值到变量r之中。所以这个变量r里就包含有我们想要的信息了,也包括那些我们想要提取的标题。
我们可以print(r.text)看一下里面有什么东西
我们再看一下网页的源代码(如何看懂这个源码,以及这个源码怎么查看下一节HTML会详细讲到)
源代码和r.text其实是一模一样的东西。r.text其实就是一个字符串,字符串中有我们刚刚抓取到的所有标题,我们只要通过字符串匹配方法(比如正则表达式)将他们提取出来就可以了。这样说是不是感觉爬虫非常简单呢?只要这样傻瓜操作
r = requests.get('https://www.csdn.net/')
再直接从r.text字符串中提取信息即可。其实爬虫就是这么简单。
但是解析是怎么回事呢,为什么刚刚不直接用正则而要用bs4呢?因为方便,但是正则也是完全可以的,只是相对麻烦一些、需要写更多的代码而已。
3.网页解析
网页解析其实就从网页服务器返回给我们的信息中提取我们想要数据的过程。其实使用正则表达式提取我们要的标题的过程也可以称为网页解析。
因为当前绝大多数网页源代码都是用HTML语言写的,而HTML语言时非常有规律性的,比如我们要的所有文章标题都具有相同结构,也就是说它周围的字符串都是非常类似的,这样我们才能批量获取。所以就有大佬专门封装了如何从HTML代码中提取特定文本的库,也就是我们平时说的网页解析库,如bs4 lxml pyquery等,其实把他们当成处理字符串的就可以了。
为了更清楚地了解如何对网页进行解析,我们需要先粗略掌握HTML代码的结构。
引用维基百科中的一段话来介绍HTML
超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。HTML是一种基础技术,常与CSS、JavaScript一起被众多网站用于设计令人赏心悦目的网页、网页应用程序以及移动应用程序的用户界面[1]。网页浏览器可以读取HTML文件,并将其渲染成可视化网页。
为了让读者对HTML有更清楚的认识,我们来写一点简单的HTML代码。用文本编辑器(记事本也可以)创建一个名字为a.html的文件,在里面写下如下代码
&!DOCTYPE html&
&title&爬虫基本原理&/title&
&h1&HTML介绍&/h1&
&p&第一段&/p&
&p&第二段&/p&
保存,然后你双击这个文件,就会自动用浏览器打开,然后你就能看到下面这个样子的页面
你如果按照我的操作来做的话,你已经创建了一个简单的网页,现在你看到的所有网页都是这样设计的,只是比你的复杂一点而已,不信你去看看刚才截图下来的网页源代码图片。
接下来,我们来看一下HTML语言的特点。最重要的一点是,文本都是被标签(h1标签 p标签)夹在中间的,而这些标签都是特定的,有专门用途的。比如&h1&就表示一级标题,包在里面的文本自然会被放大显示;而&p&标签则表示段落。
再看上面的源代码截图,head meta script title div li每一个都是标签,层层嵌套。我们完全不需要知道总共有哪些种标签,也不需要知道这些标签都是用来干什么的,我们只要找到我们要的信息包含在什么标签里就行了。比如使用正则表达式就直接用&p&(.*?)&/p&就可以把里面的内容提取出来了。
但是事实好像没有那么简单,看上面的截图标签怎么是这样的&nav id="nav" class="clearfix"&?其实这是一个&nav&标签,后面的id class是这个标签的属性。
为什么要给标签设置属性呢?我们先考虑这样一个问题:我们看到的网页千差万别,文字的颜色字体等都不一样,这是怎么设置的呢?答案是使用css样式。
css语句类似这样
text-align:
font-family:
font-size: 20
即设置对应标签的颜色、字体、大小、居中等。而当有的段落使用这个字体,有的段落使用那个字体怎么办呢?css这样设置
font-size: 20
font-size: 15
在HTML代码中则这样写
&p class="test1"&20px大小的字&/p&
&p class="test2"&15px大小的字&/p&
所以不同属性就是为了区分相同标签用的,这相当于给标签进行了分类,在统一设计样式上更方便,同时对于我们根据属性定位我们想要内容的位置其实也是更方便了。这里要说明一下,class id这两个属性比较特殊,用的也最多,所以各自弄了一个快捷键来表示,class用.,id用#。
做爬虫不需要了解刚刚编写的css代码内容放在哪里之类的问题,也不需要了解css代码设置了什么,我们只会和HTML打交道,所以只要理解HTML中属性的作用就可以了。
如果想要更进一步了解HTML和CSS,可以到w3school网站学习。
现在你就已经具备了解析网页需要的全部HTML知识了。我们一般就是根据标签名配合属性值来定位我们想要资源的位置的,其他的都不用管。这时,我们再来看爬虫的解析代码
解析代码介绍
把前面的代码再粘贴一遍如下
import requests # 导入网页请求库
from bs4 import BeautifulSoup # 导入网页解析库
r = requests.get('https://www.csdn.net/')
soup = BeautifulSoup(r.text, 'html.parser')
content_list = soup.find_all('div', attrs = {'class': 'title'})
for content in content_list:
print(content.h2.a.text)
解释一下上面代码的过程
第一步,把r.text这个网页源代码字符串传到BeautifulSoup函数中(第二个参数固定用法先不用管),得到的soup对象,可以理解成这一步是为了让这个字符串可以用一些更简单的方法,比如它可以调用find_all方法,寻找class属性是title的div标签,这样的标签有非常多,返回了一个list。
第二步,对这个list进行循环,每一个元素内部寻找h2标签里的a标签,提取a标签中的文本,即我们要的标题。
可以看到上面的代码非常简洁,思路清晰,读者可以自己想一想如果要用正则表达式如何匹配这些标签,会发现代码繁琐很多,虽然它也有更快的优势。
那么我们是怎么知道要寻找什么样属性的div标签,为什么要找h2 a标签而不是其他的呢?这就要去分析网页的源代码了。而这个过程也非常简单。
chrome检查工具介绍
我们现在用谷歌浏览器打开,找一个空白的位置右键-查看网页源代码,这时就会打开一个新的页面这个页面就是这个网站的HTML源代码了,我们可以通过这个页面来看我们要的信息在哪里,但是感觉非常不方便,因为有太多无用的信息做干扰,我们无法快速掌控网页的结构。所以我们可以用另一种方式查看源代码。
用谷歌浏览器打开,找一个空白的位置右键-检查,就会弹出一个框,如下图所示
(如果没有看到这个界面,注意要切换到Element中)
这个页面最大的好处是通过折叠来让人更快探索出网页的结构。
其中的那些代码就是HTML代码,该页面的一个个标题就存在这一个个li里面。点击li前面的三角就可以展开具体的代码内容,如下图所示
可以看到文章的标题(打造一个高性能、易落地的公链开发平台)就在这个源代码之中,也就是说在我们刚刚获得的r.text字符串之中。而我们代码定位路径也一目了然了,因为每个li里面都会有一个&div class="title"&而每一个div里面都会有一个h2 里面有一个a,a中包含我们要的标题名称。所以我们就用find_all找到所有这样的div标签,存储为一个list,再对list进行循环,对每一个元素提取h2 a 再提取标签中的内容。
当然我们也可以find_all最外面的li标签,再一层层往里找,都是一样的。只要找到定位信息的唯一标识(标签或者属性)就可以了。
虽然在这里看源代码可以折叠一些没用的代码,但是其实还有一些更好用的工具来辅助我们找到我们要的信息在网页源码中的位置。比如下面这个鼠标符号。
在所有代码都折叠起来的情况下,点击这个鼠标,之后再去点击网页中的元素,浏览器就会自动帮你把你点击的元素选中出来,其实你鼠标悬在一个元素上面的时候,就已经帮你定位了,如下图所示
当我们要爬一个网页的时候,只需要如下流程
导入两个库,一个用于请求,一个用于网页解析
请求网页,获得源代码
初始化soup对象,使其可以调用更简单易用的方法
用浏览器打开网页,右键-检查,使用那个鼠标定位你要找的资源的位置
分析那个位置的源代码,找到合适的用于定位的标签及属性
编写解析代码,获得想要的资源
现在,对于一些没有丝毫反爬措施的网站我们都可以游刃有余了。至于抓取多个字段的数据如何组织在一起、抓取多页(URL有规律的情况下)的代码如何设计,就不是爬虫知识范畴了,这是用python基础知识就可以解决的。下一系列文章就主要讲这一部分。接下来给几个当前可以练手的网站
CSDN首页除了标题之外的其他信息,比如作者名、发布的时间等,可以存储到一个以字典为元素的list里
豆瓣top250的信息,会翻页的话250个电影的信息可以直接一个循环抓取下来,其实找到规律构造出10个URL即可
stackoverflow 简书 伯乐在线 等等网站都可以拿来练手
如果使用BeautifulSoup的定位的过程中遇到困难,可以直接到网上搜教程,也可以等我们这个专题后面更新的BeautifulSoup详细介绍。
如果你去抓取其他网站,最好先看一下r.text是不是和网站源代码一模一样,如果不是,说明你对方服务器没有把真正的信息给你,说明他可能看出你是爬虫了(进行网页请求的时候,浏览器和requests.get都相当于带着一堆资格证去敲门,对方会检查你这些资格证,浏览器的资格证一般是可以通过的,而代码的资格证就可能不合格,因为代码的资格证可能有一些比较固定的特点,对方服务器预先设定好,资格证是这样的请求一律拒绝,因为他们一定是爬虫,这就是反爬虫机制),这时就需要懂一些反反爬措施才能获得真正的信息,反反爬方法的学习是一个积累的过程,我们后面再讲。读者如果遇到一些反爬机制,可以到网上查这个网站的爬虫,估计都能查到一些博客讲如何破解,甚至直接贴出代码。
python学习交流群:网络爬虫到底是什么?网络爬虫的基本原理是怎样的?_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
网络爬虫到底是什么?网络爬虫的基本原理是怎样的?
0|0|文档简介|
八爪鱼采集器可简单快速地将网页数据转化为...|
总评分0.0|
本文介绍网络爬虫网络爬虫到底是什么?网络爬虫的基本原理是怎样的?
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?第1章 课程介绍
第2章 爬虫简介以及爬虫的技术价值...
第3章 简单爬虫架构
第4章 URL管理器和实现方法
第5章 网页下载器和urllib2模块...
第6章 网页解析器和BeautifulSoup第三...
第7章 实战演练:爬取百度百科1000个页...
第8章 课程总结
下一节课程: 爬虫技术的价值
3 秒后播放下一节
JAVA开发工程师
请输入问题内容...
请输入笔记内容...
你发的评论可能会是问题?是否将他发到问答中
Copyright (C) 2018 imooc.com All Rights Reserved | 京ICP备 号-2
本次提问将花费2个积分
你的积分不足,无法发表
本次提问将花费2个积分
继续发表请点击 "确定"已解决问题
网络爬虫是什么?
浏览次数:5783
用手机阿里扫一扫
最满意答案
该答案已经被保护
  另类搜索资料的方法:网络爬虫程序,WEB爬虫,网页蜘蛛,网络机器人
  大家比较熟悉使用各种搜索引擎,但是,还有一种更主动和专门的搜索技术:网络爬虫。
  随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:
  (1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。
  (2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。
  (3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。
  (4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
  为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(generalpurpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。
  1 聚焦爬虫工作原理及关键技术概述
  网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件,如图1(a)流程图所示。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,如图1(b)所示。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
  相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:
  (1) 对抓取目标的描述或定义;
  (2) 对网页或数据的分析与过滤;
  (3) 对URL的搜索策略。
  抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。
  2 抓取目标描述
  现有聚焦爬虫对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。
  基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。根据种子样本获取方式可分为:
  (1) 预先给定的初始抓取种子样本;
  (2) 预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;
  (3) 通过用户行为确定的抓取目标样例,分为:
  a) 用户浏览过程中显示标注的抓取样本;
  b) 通过用户日志挖掘得到访问模式及相关样本。
  其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
  现有的聚焦爬虫对抓取目标的描述或定义可以分为基于目标网页特征,基于目标数据模式和基于领域概念三种。
  基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。具体的方法根据种子样本的获取方式可以分为:(1)预先给定的初始抓取种子样本;(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;(3)通过用户行为确定的抓取目标样例。其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
2 爬虫技术研究综述
  基于目标数据模式的爬虫针对的是网页上的数据,所抓取的数据一般要符合一定的模式,或者可以转化或映射为目标数据模式。
  另一种描述方式是建立目标领域的本体或词典,用于从语义角度分析不同特征在某一主题中的重要程度。
3 网页搜索策略
  网页的抓取策略可以分为深度优先、广度优先和最佳优先三种。深度优先在很多情况下会导致爬虫的陷入(trapped)问题,目前常见的是广度优先和最佳优先方法。
  3.1 广度优先搜索策略
  广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。该算法的设计和实现相对简单。在目前为覆盖尽可能多的网页,一般使用广度优先搜索方法。也有很多研究将广度优先搜索策略应用于聚焦爬虫中。其基本思想是认为与初始URL在一定链接距离内的网页具有主题相关性的概率很大。另外一种方法是将广度优先搜索与网页过滤技术结合使用,先用广度优先策略抓取网页,再将其中无关的网页过滤掉。这些方法的缺点在于,随着抓取网页的增多,大量的无关网页将被下载并过滤,算法的效率将变低。
  3.2 最佳优先搜索策略
  最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为&有用&的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。将在第4节中结合网页分析算法作具体的讨论。研究表明,这样的闭环调整可以将无关网页数量降低30%~90%。
4 网页分析算法
  网页分析算法可以归纳为基于网络拓扑、基于网页内容和基于用户访问行为三种类型。
  4.1 基于网络拓扑的分析算法
  基于网页之间的链接,通过已知的网页或数据,来对与其有直接或间接链接关系的对象(可以是网页或网站等)作出评价的算法。又分为网页粒度、网站粒度和网页块粒度这三种。
  4.1.1 网页(Webpage)粒度的分析算法
  PageRank和HITS算法是最常见的链接分析算法,两者都是通过对网页间链接度的递归和规范化计算,得到每个网页的重要度评价。PageRank算法虽然考虑了用户访问行为的随机性和Sink网页的存在,但忽略了绝大多数用户访问时带有目的性,即网页和链接与查询主题的相关性。针对这个问题,HITS算法提出了两个关键的概念:权威型网页(authority)和中心型网页(hub)。
  基于链接的抓取的问题是相关页面主题团之间的隧道现象,即很多在抓取路径上偏离主题的网页也指向目标网页,局部评价策略中断了在当前路径上的抓取行为。文献[21]提出了一种基于反向链接(BackLink)的分层式上下文模型(Context Model),用于描述指向目标网页一定物理跳数半径内的网页拓扑图的中心Layer0为目标网页,将网页依据指向目标网页的物理跳数进行层次划分,从外层网页指向内层网页的链接称为反向链接。
  4.1.2 网站粒度的分析算法
  网站粒度的资源发现和管理策略也比网页粒度的更简单有效。网站粒度的爬虫抓取的关键之处在于站点的划分和站点等级(SiteRank)的计算。SiteRank的计算方法与PageRank类似,但是需要对网站之间的链接作一定程度抽象,并在一定的模型下计算链接的权重。
  网站划分情况分为按域名划分和按IP地址划分两种。文献[18]讨论了在分布式情况下,通过对同一个域名下不同主机、服务器的IP地址进行站点划分,构造站点图,利用类似PageRank的方法评价SiteRank。同时,根据不同文件在各个站点上的分布情况,构造文档图,结合SiteRank分布式计算得到DocRank。文献[18]证明,利用分布式的SiteRank计算,不仅大大降低了单机站点的算法代价,而且克服了单独站点对整个网络覆盖率有限的缺点。附带的一个优点是,常见PageRank 造假难以对SiteRank进行欺骗。
  4.1.3 网页块粒度的分析算法
  在一个页面中,往往含有多个指向其他页面的链接,这些链接中只有一部分是指向主题相关网页的,或根据网页的链接锚文本表明其具有较高重要性。但是,在PageRank和HITS算法中,没有对这些链接作区分,因此常常给网页分析带来广告等噪声链接的干扰。在网页块级别(Blocklevel)进行链接分析的算法的基本思想是通过VIPS网页分割算法将网页分为不同的网页块(page block),然后对这些网页块建立pagetoblock和blocktopage的链接矩阵,分别记为Z和X。于是,在pagetopage图上的网页块级别的PageRank为Wp=X&Z;在blocktoblock图上的BlockRank为Wb=Z&X。已经有人实现了块级别的PageRank和HITS算法,并通过实验证明,效率和准确率都比传统的对应算法要好。
  4.2 基于网页内容的网页分析算法
  基于网页内容的分析算法指的是利用网页内容(文本、数据等资源)特征进行的网页评价。网页的内容从原来的以超文本为主,发展到后来动态页面(或称为Hidden Web)数据为主,后者的数据量约为直接可见页面数据(PIW,Publicly Indexable Web)的400~500倍。另一方面,多媒体数据、Web Service等各种网络资源形式也日益丰富。因此,基于网页内容的分析算法也从原来的较为单纯的文本检索方法,发展为涵盖网页数据抽取、机器学习、数据挖掘、语义理解等多种方法的综合应用。本节根据网页数据形式的不同,将基于网页内容的分析算法,归纳以下三类:第一种针对以文本和超链接为主的无结构或结构很简单的网页;第二种针对从结构化的数据源(如RDBMS)动态生成的页面,其数据不能直接批量访问;第三种针对的数据界于第一和第二类数据之间,具有较好的结构,显示遵循一定模式或风格,且可以直接访问。
  4.2.1 基于文本的网页分析算法
  1) 纯文本分类与聚类算法
  很大程度上借用了文本检索的技术。文本分析算法可以快速有效的对网页进行分类和聚类,但是由于忽略了网页间和网页内部的结构信息,很少单独使用。
  2) 超文本分类和聚类算法
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is ok已解决问题
什么是网络爬虫?什么是脚本?
提问时间: 11:12:08
什么是网络爬虫?什么是脚本?
浏览次数:1375
1 爬虫技术研究综述 引言? 随着网络相关信息的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。在时间t内,仓库中页面p的新鲜度是这样定义的:新鲜度过时性:这是一个衡量本地已抓取的内容过时程度的指标。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题

我要回帖

更多关于 爬虫是什么意思 的文章

 

随机推荐