wilbur's blog
百度首页 | 百度空间
 
文章列表
 
2008-06-16 08:30

这几天在想 图片索引是怎么回事

爬网页提取一个网页的图片连接这个好办,当提取出这个连接后怎么处理.

想法是这样:

1)如果针对一个网站来爬,默认希望一篇html里的img连接都是指向本站的,而不是其他站点的img,比如163

的象册

假设只有一个IP1是可以用的,

做成这个结构,是为了以后可以扩展.

IP1

img1[1]

img1[2]

IP2

img2[1]

img2[2]

爬取到一定程度 就存到一个文件Img.raw

对Img.raw进行处理,得到一张 IPID-Offset

 
2008-05-24 14:21

刚才又余震了 6.4级 冒死返回家中 贴出代码

#include <stdio.h>
#include <string.h>
#include <math.h>
#include "cv.h"
#include "highgui.h"

#define MaxP(x,y) (x>y?x:y)
#define MinP(x,y) (x<y?x:y)
#define PI 3.14
#define MAXFACT    50
#define ZMODENUM    50
unsigned int fact_array[MAXFACT];

IplImage* 

 
2008-04-20 20:47

分词的代码在HzSeg.cpp中。

对raw格式的网页内容 进行分割的代码在DocSegment.cpp中

前面已经建立好2个表,一个是url对应着记录号,一个是记录号对应的偏移。

现在开始对网页进行处理,实际上只用到第2张表。

遍历这张表,把一个一个的记录取出来,存到CDocument对象里,将来要用时就知道

这个记录在原始文件raw里的偏移是多少,可以跳到那个位置去读

while (getline(ifsDoc,strLine)){
   int docid,pos,length;
   char chksum[33];

 

 
2008-04-17 18:37

这个中文分词还是挺麻烦的,TSE的代码里,好象没有找到关于如何分词的代码.TSE的字典用的是STL 中的MAP.MAP 的原理我没有看过,不好说什么,过段时间需要看看关于红黑树的原理.我早先学着做了个关于英文字母的trie字典树,这个匹配比中文方便多了.因为就是一个最大26 叉树,查找效率0(logn).

现在假设字典已经做好了,所以上面我说的都可以不管他.

现在,要把一篇网页内容分割成一个一个的关键词.TSE用的是最大正向减字法分词.

先用一个很大的数组接受html里,除了<>这些标签外的文字.

分成一个一个的

 
2008-04-17 17:35

全部过程是这样的.

根据驻留在内存里的set集合,取出没有爬取的网页连接,然后就去把它下载下来.

比如,下载了1000个网页,然后把这1000个HTML都放到一个文件里去,这个文件可能叫TianWang.raw.8415

意思就是线程号为8415的取的原始网页集合文件

对于每个在TianWang.raw.8415中的记录,都有一个对应的类叫CDocument(有点类似CPage.)

需要建立一个表,对每个记录(CDocument)在原始网页文件中的偏移,然后顺便提取他的网页内容摘要进行记录.

之后建立一个url摘要对应记录号的表.

好,这个

 
     
 
 
个人档案
 
wilbur8415
男, 24岁
四川 成都 
上次登录:
6月30日
加为好友
 
   
 
最近访客
 
 

klinmy

moioo

飞鹰外传

zoucongjie

jiushiwo200512

keeptry

chenclam

baijunhui
     


©2008 Baidu