`

今天在nutch1.2用jsoup解析了一下页面,挺爽的。用起来。

阅读更多

/**
 * 此实例用于采集tianya wenda的贴子及回复,组成一个map
 */
package org.apache.nutch.our;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 * 页面解析
 *
 * @author LJ
 *
 */
public class JsoupParse {

    public static Map<String,List<String>> parser(String content) {
        Map<String,List<String>> map = new HashMap<String,List<String>>();
        Document doc = Jsoup.parse(content);
        // Element body = doc.body();

        Element titles = doc.select("div.wpcpsCSS").first();
        String name = titles.ownText();

        System.out.println("标题" + name);
        // 获取标题内容
        Element dep = doc.select("div[style~=(margin:2px 5px 3px 4px)]")
                .first();
        String description = dep.text();
        System.out.println("标题内容" + description);
       
        String mapString = name+","+description;
       

        // 回复
        //利用集合来装多个回复
        List<String> rs = new ArrayList<String>();
        Elements replys = doc.select("div[style~=(margin: 2px 5px 3px 4px;)]");
        for (int i = 0; i < replys.size(); i++) {
            Element e = replys.get(i);
            String ry = e.text();
            rs.add(ry);
            System.out.println("回复内容: " + ry);
        }
        //把问与回复存入map
        map.put(mapString, rs);
        return map;

        // 获取分类
        // String pattern
        // ="<a class='wpfitCSS wpfilCSS' id=hover title='[*]' href='label?lid=[(0-9a-zA-Z)*]'>";
        // Element category = doc.getElementsMatchingOwnText(pattern).first();
        // System.out.println(category.text());
        // System.out.println(body);// 获取页面body内容
    }

    public static void main(String[] args) throws Exception {
        //String url = "http://wenda.tianya.cn/wenda/thread?tid=15krbkptkho99qirlp0a5rf2dlrqk443dkhj7";
        String url2 = "http://wenda.tianya.cn/wenda/thread?tid=15kra997o6kb9p17pvr5fpaj5j8n2ub65sgem";
        String content = FileDownLoader.doGet(url2, "UTF-8");
        parser(content);
        // String content2 = FileDownLoader.doGet(url, "UTF-8");
        // parser(content2);
    }

}

 

注:通过查看jsoup API 可以对网页进行深入解析哈。

分享到:
评论

相关推荐

    nutch1.2 java的project

    Eclipse 是一个流行的Java集成开发环境(IDE),在这里被用于开发和管理Nutch 1.2项目。 Nutch 1.2 的主要功能包括: 1. **网络爬虫**:Nutch的核心功能是爬取互联网上的网页。它使用多线程和分布式计算技术,能够...

    nutch1.2 java project

    Nutch 1.2 版本相对于早期版本在性能和稳定性上有所提升,同时也支持更丰富的插件体系。 在描述中提到,这个压缩包包含了一个已经配置好的 Nutch 1.2 Java 工程,但由于文件大小限制,插件部分未能上传。Nutch 的...

    Nutch 1.2源码阅读

    ### Nutch 1.2 源码阅读深入解析 #### Crawl类核心作用与流程概览 在深入了解Nutch 1.2源码之前,我们先明确Nutch的架构和工作流程。Nutch作为一款开源搜索引擎框架,其功能涵盖网页抓取、索引构建以及查询处理。...

    nutch1.2源码

    Nutch 1.2是该项目的一个稳定版本,提供了许多改进和优化,使得它在搜索引擎构建、数据分析等领域具有广泛应用。 一、Nutch概述 Nutch是由Apache软件基金会开发的开源Web爬虫项目,主要用于抓取互联网上的网页并...

    myeclipse8.5导入nutch1.2源码

    - 在 Order and Export 页面,找到 `nutch1.2/conf` 并将其置顶。 - 完成后点击 Finish,完成项目创建。 4. **解决编译警告**: - 如果在源码的某些部分出现红色叉号或警告信息,检查是否有未引用的类或包,必要...

    nutch1.2测试文档

    nutch1.2测试文档

    nutch-1.2.war

    nutch官方简单案例,请版本是nutch-1.2.war

    Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0

    本文旨在详细介绍如何在Windows环境下搭建基于cygwin、MyEclipse 8.5、Nutch 1.2及Tomcat 6.0的开发环境,并对每个步骤进行深入解析。 #### 一、Cygwin的配置 **1.1 安装** Cygwin是一款用于Windows系统的Linux...

    nutch-1.2.part02

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    nutch部分网页乱码BUG修正

    然而,在实际使用过程中,由于编码问题,Nutch可能会出现部分网页乱码的情况。本篇文章将深入探讨这个问题,并提供具体的代码修复方案。 网页乱码通常是由于字符编码不匹配导致的。在Nutch中,当它抓取到不同编码...

    nutch-1.2.part06

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    实验报告(利用Nutch和IKanalyzer构造中文分词搜索引擎)

    在Nutch 1.2中集成IKAnalyzer,需要修改NutchAnalysis.jj文件,将SIGRAM规则调整为支持连续的汉字,然后在代码中初始化IKTokenizer,使其能够处理输入的文本流。通过这种方式,Nutch现在能够对抓取的网页内容进行...

    Nutch搜索引擎培训讲义

    ### Nutch 搜索引擎培训讲义关键知识点解析 #### 一、Nutch 1.2 版本配置与运行步骤 1. **环境搭建** - 在进行配置之前,确保已经安装了必要的软件,如Java环境(推荐使用Java 1.6以上版本)、Eclipse等开发工具...

    nutch的源代码解析

    总的来说,Nutch 的 Injector 部分是整个爬取流程的起点,它负责将输入的 URL 数据转化为可处理的形式,并且初始化这些 URL 在 CrawlDB 中的状态,为后续的抓取、解析和索引等步骤做好准备。通过理解这个过程,...

    基于ApacheNutch和Htmlunit的扩展实现AJAX页面爬虫抓取解析插件nutch-htmlunit.zip

    基于Apache Nutch 1.8和Htmlunit组件,实现对于AJAX加载类型页面的完整页面内容抓取解析。 According to the implementation of Apache Nutch 1.8, we can't get dynamic ...

    搭建nutch web开发环境

    此外,由于Nutch 1.2的Web界面在1.3版本后被移除,这意味着在更现代的Nutch版本中,你需要寻找其他方式来展示和交互索引结果,例如使用自定义的Web应用程序与Solr API交互。 总的来说,搭建Nutch Web开发环境是一个...

    mp3文件信息解析-nutch使用

    在描述中提到,MP3文件信息解析可以与Nutch结合,这可能是为了在爬取网页时识别和处理MP3链接,提取音频文件的元数据,从而丰富索引内容。Nutch的`parse-html`模块负责解析HTML文档,如果进行了定制,可能包含了针对...

    Nutch+solr + hadoop相关框架搭建教程

    Nutch 1.2 版本后,它开始使用 Ivy 进行依赖管理,方便构建和集成其他组件。 【Hadoop】 Hadoop 是一个分布式计算框架,用于处理和存储大量数据。在 Nutch 中,Hadoop 负责分布式爬虫的执行和数据处理。Nutch 使用 ...

    nutch使用&Nutch;入门教程

    在使用Nutch之前,你需要配置Nutch的运行环境,包括安装Java、设置Hadoop(如果需要分布式爬取)、下载和编译Nutch源代码。还需要配置Nutch的`conf/nutch-site.xml`文件,指定抓取策略、存储路径、爬虫范围等参数。 ...

Global site tag (gtag.js) - Google Analytics