搜索引擎与数据管理 Lecture3:网页抓取技术 (爬虫)

Slides:



Advertisements
Similar presentations
第一章 绪论 什么是网页和网站 网页的分类 网页中的常用术语 网页设计的相关知识.
Advertisements

第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
SEWM2006 Web检索 山东大学 陈竹敏.
2017/3/6 V1 实习指导管理系统.
怎样利用搜索引擎检索网络资源 1. 网络的基础知识
高一年级过渡性学习 活动汇报 高一年级组 教科研室 汉滨高中.
汇报大纲 一、报送系统总体介绍 二、自查及检查评分报送流程 三、自查及检查方法及关键点 四、建议及注意事项.
项目一 创建“夕照台”房产网站 ——网页制作基础
2.3 网络域名及其管理.
了 解 Internet 从 ip 开 始.
小学生游戏.
第17章 实现路由器.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
第四次大作业 登陆学校图书馆网站的电子数据库
中青国信科技(北京)有限公司 空间域名邮局价格表.
如何使用CiteSpace分析Derwent专利数据
网络爬虫基本原理 高剑飞 ACM /11/152018/11/15.
Hadoop I/O By ShiChaojie.
Windows 8 more simple more powerful more free.
第二讲 搭建Java Web开发环境 主讲人:孙娜
知识仓库建库管理系统(KDKW35) KDKW35的简介 KDKW35的系统结构 KDKW35的功能 KDKW35的技术特点
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
存储系统.
李杰 首都经济贸易大学 安全与环境工程学院 个人主页:
大学计算机基础 典型案例之一 构建FPT服务器.
SQL Injection.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
信息采集 参考:W.Bruce Croft等著,刘挺等译. 搜索引擎-信息检索实践. 机械工业出版社,2010.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
DevDays ’99 The aim of this mission is knowledge..
数据说明 郝蕊.
任务1-3 使用Dreamweaver创建ASP网页
Web前端开发 第23章:网站发布 阮晓龙 / 河南中医药大学管理科学与工程学科
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
编程作业3:网页正文抽取 (10分).
专题作业.
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
DQMClientDim.cxx及双光子练习
2019/4/16 关注NE官方微信,获取更多服务.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
解决“最后1公里”问题.
第4章 Excel电子表格制作软件 4.4 函数(一).
数据报分片.
树和图 tree and graph 蔡亚星.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第七、八次实验要求.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第7章 Internet的应用.
超星电子书 让更多的人读更多的书.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

搜索引擎与数据管理 Lecture3:网页抓取技术 (爬虫) 赵慧

搜索引擎的组成 WWW 网页获取 分析系统 查询系统 索引系统 提交查询 返回查询结果 网页数据库 索引库

网页的获取 搜索引擎的数据来源:网页 网页抓取——爬虫系统 爬虫系统的功能: Crawler Spider Robot 爬虫系统的功能: 漫游访问互联网,发现并搜集多种类型的文档,如HTML页面、XML文档、Newsgroup文章,FTP文件、Word文档和多媒体信息等。 第一个爬虫程序:MIT的Matthew Gray在1993年编写的Wonderer。

互联网的结构 根据互联网的静态结构,互联网是一个相互连通的连通图 正向链接:一个网页链接到其他网页 反向链接:一个网页被其他网页链接 URL 节点:网页 边:链接 正向链接:一个网页链接到其他网页 目录导航网页 正向遍历:深度/广度 反向链接:一个网页被其他网页链接 体现网页的重要程度——权威网页 反向遍历:深度/广度 URL Uniform Resource Locator(统一资源定位) 例:http://www.ecnu.edu.cn/index.html 包括 访问方式:HTTP协议 被访问服务器:www.ecnu.edu.cn 被访问文件:index.html

Web Graph http://www.touchgraph.com/TGGoogleBrowser.html

Complex Network Example: WWW ----- (K. C. Claffy) 有向网络, 结点:web页面,边:超链

网页抓取过程 从URL库(初始时包含用户指定的起始种子URL集合,可以是 1个或多个)获得输入 解析URL中标明的Web服务器地址 建立连接、发送请求和接收数据:基于Socket 将获得的网页数据存储在网页库,同时将待抓取的URL放入URL库,保证整个过程的递归进行,直到URL库为空。 引出的问题 如何收集重要的网页 如何避免网页的重复收集 如何提高抓取效率? 。。。。。。

网页抓取策略—宽度搜索示例 重要的网页优先抓取 1 2 3 4 5 6 1 2 3 4 5 6 spider 宽度优先和深度优先 1 2 3 4 5 6 宽度优先和深度优先 通常选取宽度优先 重要的网页往往离种子站点的距离较近 互联网的深度没有想象的那么深,到达某一个网页的路径很多,但是存在一条最短路径 有利于多爬虫合作抓取。 1 2 3 4 5 6 重要的网页优先抓取

如何避免重复抓取网页? 思考:如何不重复 技术支持 问题 例:抓取顺序为www.sohu.com www.sina.com 关键在于记录历史 如何记录? 如何判定重复? 技术支持 Hash函数 MD5签名函数 。。。。。。 问题 互联网的网页数量以亿为 单位,如何存放历史? www.sohu.com www.sohu.com www.sina.com MD5签名函数 1 1 2 3 4 5 6 7 8

MD5签名算法 1992年8月,Ronald L.Rivest提出,具有公开和安全的特点 基本原理: 使用一个Hash函数,可以将任意长度的数据流转换为一个固定长度的整数(通常4个整数,128位),这个数字成为“数据流的签名”,或者“指纹”。 数据流中任意以一个微小的变化都会导致签名值的变化。 2的128次方可以表达的空间非常大,而32位处理器可分配的内存空间最大4GB 实际的Hash函数为MD5(URL)%n,n为Hash表的大小,即槽的个数 互联网的网页数>100亿,Hash表需要多大?内存是否放得下?——>采用bitmap数据结构压缩内存的使用(int hash[8]),以bit为最小单位,位运算) >10GB

页面选择问题 种子站点:爬虫开始抓取的起点,通常为各大门户网站和官方网站的首页。 尽可能首先抓取重要的网页 问题:重要性的判定 链接欢迎度:取决于反向链接的数目和质量 反向链接数目越多表示其他网页对该网页的认可,被访问的可能性就越高,重要性就越高; 被更多的重要性高的网页指向,重要性越高 避免作弊网页,人为地在网页中设置指向自身的链接 链接重要度:关于URL字符串的函数,通过一些模式确定 如包含.com和home的URL重要度高,具有“/”少的URL重要度高等 平均链接深度:由距离种子站点的距离决定 认为种子站点是重要性高的站点; 离种子站点越近,重要性越高;反之,越低

爬虫的礼貌 为什么? 爬虫要像绅士一样遵守Robots协议 有些网站不希望爬虫白天抓取网页; 有些网站不希望爬虫抓取敏感信息; DNS服务提供商不希望大量的域名解析工作被爬虫的域名解析请求所占用; …… 爬虫要像绅士一样遵守Robots协议 在网站的根目录下的一个文本文件,是web站点和爬虫交互所遵守的协议。

网页抓取速度的提高 互联网上的网页数量大,更新速度快 问题:如何分解任务,避免多个爬虫抓取相同的网页 提高抓取单个网页的速度:受带宽限制,不可行 尽可能减少不必要的抓取任务:不能快速同步网页的变化 增加同时工作的爬虫数量:有效可行的方式 问题:如何分解任务,避免多个爬虫抓取相同的网页 通过IP地址分解:某个爬虫抓取某个地址段的网页 通过域名解析分解:某个爬虫抓取某个域名段的网页 方案的选择:照顾大型网站,采用域名解析的策略,有“调度员”程序通过域名解析将不同的网页分配给不同的爬虫抓取。

分配过程 对于任意的URL,利用domain函数提取URL的域名; 用MD5签名函数签名域名,MD5(domain(URL)) 将MD5签名值对n取运算 int spider_no= MD5(domain(URL)%n 该URL分配给编号为spider_no的爬虫进行抓取

爬虫 example:Heritrix 采用Java开发的、开源网络爬虫 下载页面:http://crawler.archive.org/downloads.html链接到SourceForge的下载页面 可以在Eclipse配置Heritrix的开发环境,对Heritrix的源代码进行修改和编译,二次开发。 尝试使用Heritrix抓取一些网页,如会展、手机、笔记本、房产、股票、课件等

Crawler in Practice

Homework Option1:尝试应用某爬虫抓取一些网页,并解析存储(可两人一组) Seed:http://mil.news.sina.com.cn/或http://military.china.com/ 5月30日提交实验报告(+10分) Option2:查阅资料,总结撰写一篇关于网络爬虫的小论文 5月23日提交(小论文电子版 ) 考虑所要抓取的数据的特点以及解决方法 论文样本