免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3016 | 回复: 6
打印 上一主题 下一主题

请问做一个网站的关键词分析应该怎么做? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-03 18:24 |只看该作者 |倒序浏览
10可用积分
这是一份开源的代码,但是似乎有点问题,只能取出英文的关键词,似乎还是有问题的,YUI
例子里用的YUI,这个我没有上传


我想分析和统计整个网站的关键词和出现的频率和分数
请问有没有好的实现方法
keyworddensity.rar (5.44 KB, 下载次数: 75)

[ 本帖最后由 workingbeijing 于 2008-3-3 18:39 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-03-04 09:29 |只看该作者
config.ini
<?php
        set_time_limit(360);
        //define('URL_SEED','http://games.hawkenterprises.org/keyworddensity/test.html');//trailing slash
        //define('DOMAIN','hawkenterprises.com');
        define('SINGLE_SITE',true);
        define('SINGLE_PAGE',true);
        define('DROP_COUNT',0);  // drop keywords that appear less than 4 times

        $exclude_terms_url = array(0=>'javascript:','mailto:','file:','.pdf','.jpg','.gif','.png','.doc','#','.xls','.tar','.gz','feed:');
        $dropwords = array(0=>'and','the','is','it','a',' ','an','or','of','on','for','to');
?>

run.php
<?php
function get_document($urltofetch){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $urltofetch);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $str = curl_exec($ch);
    curl_close($ch);
    return $str;
}
function parsed_document_links($document_string){
    $hrefs = array();
    $doc = new DOMDocument();
    @$doc->loadHTML($document_string);
    $anchor_tags = $doc->getElementsByTagName('a');
    foreach($anchor_tags as $anchor){
        $hrefs[] = $anchor->getAttribute('href');
    }
    return $hrefs;
}
function normalize_links($links_array){
    global $exclude_terms_url;
    $url_normalized = array();
    foreach($links_array as $k=>$v){
        $skip_url = false;
        foreach($exclude_terms_url as $key=>$value){
            if(stristr($v,$value) !== false)
                $skip_url = true;
        }
        if(!$skip_url){
            $parsed_link = @parse_url($v);
            if(SINGLE_SITE){   
                if(isset($parsed_link['scheme']) && $parsed_link['scheme'] == 'http'){
                    if(stristr($v,DOMAIN) !== false){
                        $url_normalized[] = $v;
                    }
                }else{
                    $url_normalized[] = URL_SEED . $v;
                }
            }
        }
    }
    return $url_normalized;
}
?>



crawl.php
<?php
function get_document($urltofetch){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $urltofetch);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $str = curl_exec($ch);
    curl_close($ch);
    return $str;
}
function parsed_document_links($document_string){
    $hrefs = array();
    $doc = new DOMDocument();
    @$doc->loadHTML($document_string);
    $anchor_tags = $doc->getElementsByTagName('a');
    foreach($anchor_tags as $anchor){
        $hrefs[] = $anchor->getAttribute('href');
    }
    return $hrefs;
}
function normalize_links($links_array){
    global $exclude_terms_url;
    $url_normalized = array();
    foreach($links_array as $k=>$v){
        $skip_url = false;
        foreach($exclude_terms_url as $key=>$value){
            if(stristr($v,$value) !== false)
                $skip_url = true;
        }
        if(!$skip_url){
            $parsed_link = @parse_url($v);
            if(SINGLE_SITE){   
                if(isset($parsed_link['scheme']) && $parsed_link['scheme'] == 'http'){
                    if(stristr($v,DOMAIN) !== false){
                        $url_normalized[] = $v;
                    }
                }else{
                    $url_normalized[] = URL_SEED . $v;
                }
            }
        }
    }
    return $url_normalized;
}
?>


[ 本帖最后由 workingbeijing 于 2008-3-4 09:58 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-03-04 09:51 |只看该作者
问问题,干嘛贴那一驼code啊,看着恶心。


我想应该是将网站(过滤掉js,css,image)抓取到本地,然后对网页内容进行分词统计。

论坛徽章:
0
4 [报告]
发表于 2008-03-04 09:56 |只看该作者
我现在的问题是,代码看不明白,运行后有时apache就会死掉

我做的不是抓取到本地,想做成一个在线统计分析的工具

[ 本帖最后由 workingbeijing 于 2008-3-4 09:59 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-03-04 09:59 |只看该作者
原帖由 workingbeijing 于 2008-3-4 09:56 发表
我现在的问题是,代码看不明白,运行后有时apache就会死掉



那就看把。。。apache死掉就要慢慢调试拉。

论坛徽章:
0
6 [报告]
发表于 2008-03-04 10:25 |只看该作者
中文的改个正则就可以了,呵呵,但是还是不明白这个算法

论坛徽章:
0
7 [报告]
发表于 2008-03-05 10:35 |只看该作者
自己顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP