日期:2014-05-17  浏览次数:20695 次

用java程序生成网站地图
    上面给了个任务,网上搜到个SiteMap的软件专门做这个的,想看看它的源代码。可下下来20多M也不知道咋看了,其实就是写个方法,传入个url地址,然后生成这个网站的网站地图,例如传入http://www.bjsxt.com/index.html然后生成一个该网站所有链接的目录,大神们给点提示,不知道咋做

------解决方案--------------------
你要的是网络爬虫

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成,其基本架构如下图所示:

传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。对于垂直搜索来说,聚焦爬虫,即有针对性地爬取特定主题网页的爬虫,更为适合。

本文爬虫程序的核心代码如下:

Java代码

    public void crawl() throws Throwable {     
        while (continueCrawling()) {     
            CrawlerUrl url = getNextUrl(); //获取待爬取队列中的下一个URL     
            if (url != null) {     
                printCrawlInfo();      
                String content = getContent(url); //获取URL的文本信息     
                     
                //聚焦爬虫只爬取与主题内容相关的网页,这里采用正则匹配简单处理     
                if (isContentRelevant(content, this.regexpSearchPattern)) {     
                    saveContent(url, content); //保存网页至本地     
        
                    //获取网页内容中的链接,并放入待爬取队列中     
                    Collection urlStrings = extractUrls(content, url);     
                    addUrlsToUrlQueue(url, urlStrings);     
                } else {     
                    System.out.println(url + " is not relevant ignoring ...");     
                }     
        
                //延时防止被对方屏蔽     
                Thread.sleep(this.delayBetweenUrls);     
            }     
        }     
    &nb