六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 110|回复: 0

从零开始构建一个简单的搜索引擎

[复制链接]

升级  0%

58

主题

58

主题

58

主题

举人

Rank: 3Rank: 3

积分
200
 楼主| 发表于 2013-2-7 20:07:59 | 显示全部楼层 |阅读模式
一 爬虫----下载html网页
1 广度优先还是深度优先,研究表明,按照广度优先搜索方式得到的网页集合要比深度优先搜索得到的集合重要
 
2 多线程和异步IO,爬虫下载网页分三个步骤:1)查询url的dns 2)socket连接服务器 3) 从服务器下载数据
只有把这三个步骤并行化才能加快抓取速度,采用的策略是,异步dns查询,多线程connect服务器,最后使用
select IO多路转接来下载数据,实践中发现最耗时的步骤是connect操作.
 
3 网页去重,把下载过的网页保存在一个大的hash table中
 
4 数据结构:一个保存待下载url的队列,一个保存已查询过dns的hash table, 一个保存已下载过url的hash table,
一个保存空闲连接的队列,一个保存正在下载连接的队列
 
二 html解析器----从网页内容中抽取单词,存放到数据库中
 
三 搜索----根据关键字搜索网页
 
四 网页排名
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表