WS.WS.SITEMAP_BB_PARSE から呼び出される関数です。
リンクを抽出して、次のクロール対象となるようにキュー登録します。
完全オリジナルです。
create procedure
WS.WS.CRAWL_LINK_EXTRACT (
in _content varchar,
in _regexp varchar,
in _host varchar,
in _root varchar
)
{
dbg_obj_print('WS.WS.CRAWL_LINK_EXTRACT');
declare link
varchar;
link :=
regexp_match(_regexp,_content,1);
while(link is not
null) {
declare url varchar;
url := regexp_substr(_regexp,link,1);
if (left(url,2) = '//') {
url := null;
}
if (left(url,1) = '/') {
url := 'http://' || _host || url;
} else {
url := null;
}
if (regexp_match('https?://'||_host,url) is
null) {
url := null;
}
if (url is not null) {
insert soft VFS_QUEUE (VQ_HOST, VQ_TS,
VQ_URL, VQ_STAT, VQ_ROOT, VQ_OTHER) values (_host, now(), url, 'waiting',
_root, NULL);
dbg_obj_print(url);
}
link := regexp_match(_regexp,_content,1);
}
}
0 件のコメント:
コメントを投稿