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日
加为好友
|