`
newleague
  • 浏览: 1505320 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

利用htmlparser抓取网页内容

    博客分类:
  • http
阅读更多

import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.tags.TableTag;
import org.htmlparser.util.NodeList;

/**
 * <br>
 * 标题: <br>
 * 功能概要: <br>
 * 版权: cityyouth.cn (c) 2005 <br>
 * 公司:上海城市青年网 <br>
 * 创建时间:2005-12-21 <br>
 * 修改时间: <br>
 * 修改原因:
 *
 * @author 张伟
 * @version 1.0
 */
public class TestYahoo {
    public static void testHtml() {
        try {
            String sCurrentLine;
            String sTotalString;
            sCurrentLine = "";
            sTotalString = "";
            java.io.InputStream l_urlStream;
            java.net.URL l_url = new java.net.URL(
                    "http://sports.sina.com.cn/iframe/nba/live/");
            java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url
                    .openConnection();
            l_connection.connect();
            l_urlStream = l_connection.getInputStream();
            java.io.BufferedReader l_reader = new java.io.BufferedReader(
                    new java.io.InputStreamReader(l_urlStream));
            while ((sCurrentLine = l_reader.readLine()) != null) {
                sTotalString += sCurrentLine;
            }
            System.out.println(sTotalString);

            System.out.println("====================");
            String testText = extractText(sTotalString);
            System.out.println(testText);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * 抽取纯文本信息
     *
     * @param inputHtml
     * @return
     */
    public static String extractText(String inputHtml) throws Exception {
        StringBuffer text = new StringBuffer();

        Parser parser = Parser.createParser(new String(inputHtml.getBytes(),
                "8859_1"), "8859-1");
        // 遍历所有的节点
        NodeList nodes = parser.extractAllNodesThatMatch(new NodeFilter() {
            public boolean accept(Node node) {
                return true;
            }
        });
        Node node = nodes.elementAt(0);
        text.append(new String(node.toPlainTextString().getBytes("8859_1")));
        return text.toString();
    }

    /**
     * 读取文件的方式来分析内容. filePath也可以是一个Url.
     *
     * @param resource
     *            文件/Url
     */
    public static void test5(String resource) throws Exception {
        Parser myParser = new Parser(resource);

        // 设置编码
        myParser.setEncoding("GBK");
        String filterStr = "table";
        NodeFilter filter = new TagNameFilter(filterStr);
        NodeList nodeList = myParser.extractAllNodesThatMatch(filter);
        TableTag tabletag = (TableTag) nodeList.elementAt(11);
           
            System.out.println(tabletag.toHtml());
           
            System.out.println("==============");

    }

    /*
     * public static void main(String[] args) { TestYahoo testYahoo = new
     * TestYahoo(); testYahoo.testHtml(); }
     */
    public static void main(String[] args) throws Exception {
        test5("http://sports.yahoo.com/nba/scoreboard");
    }
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jinxi/archive/2007/01/18/1487017.aspx

分享到:
评论

相关推荐

    java利用htmlparser抓取网页数据

    以下是一个简单的示例,展示了如何使用HTMLParser抓取网页的标题: ```java import org.htmlparser.Parser; import org.htmlparser.util.NodeIterator; import org.htmlparser.util.ParserException; import org....

    htmlparser抓取网页内容

    本项目以"htmlparser抓取网页内容"为主题,具体实践了如何利用HTMLParser库来从国家专利局的网站上抓取专利状态信息。 首先,我们要理解HTMLParser的工作原理。HTMLParser是Python的内置库,它提供了一个基础的事件...

    htmlparser 资料集合

    `利用htmlparser抓取网页内容(一) - 老妖的博客 - BlogJava.htm`和`分析-解析Html页面HTML Parser的试用 - 记忆有问题!!! - CSDN博客.htm`、`解析Html页面HTML Parser的试用 - 飞云小侠(scud)专栏 - CSDN博客.htm`...

    HtmlParser提取网页信息的设计与实现

    本文将详细介绍如何利用HtmlParser这一开源工具来提取网页中的关键信息,并通过数据清洗将其存储到SQL数据库中,以便后续的数据分析和应用。 #### 二、HtmlParser概述 HtmlParser是一种轻量级、高效且易于使用的...

    htmlparser库与教程

    "htmlparser实现从网页上抓取数据.doc"文件则很可能是一个详细的教程,指导用户如何利用HTMLParser库进行网页数据抓取。在这个教程中,可能会涵盖以下关键知识点: 1. **安装和引入HTMLParser**:首先,用户需要将...

    基于htmlparser的网页爬虫和java调用excel代码

    本项目就是利用HTMLParser库来编写一个基础的网页爬虫,用于爬取新浪新闻的数据,并将抓取到的数据存储到Excel表格中。以下是关于这个项目的一些关键知识点和实现细节: 1. **HTMLParser库**:HTMLParser是一个开源...

    HtmlParser

    使用HTMLParser,我们可以解析网页内容,提取所需信息,如文章标题、链接、图片等。以下是一些核心概念和步骤: 1. **创建自定义解析器**: 首先,我们需要继承Python的`HTMLParser`类,并重写其方法,如`handle_...

    Winista.Htmlparser.Net 源码 +Demo

    2. **WebParser**:可能是一个简单的网页抓取器,利用HtmlParser解析网页,提取所需信息,例如新闻标题、链接等。 开发者可以打开`AnalyzeHtml.sln`,编译并运行这两个项目,以了解HtmlParser的具体使用方法和实际...

    htmlparser实现从网页上抓取数据

    然而,这段代码仅实现了基础的网页抓取功能,没有利用HTMLParser库的优势。HTMLParser库提供了一系列方法和接口,如`Parser`类和`NodeVisitor`接口,可以更深入地解析HTML文档: - `Parser`: HTMLParser的核心类,...

    C# HTMLParser下载.rar

    例如,新闻网站的爬虫可能会使用HTMLParser抓取每篇新闻的标题和内容;电商网站的测试工具可能利用HTMLParser检查商品列表是否正确显示。 然而,需要注意的是,HTMLParser虽强大,但并不能解决所有的HTML解析问题。...

    HtmlParser 网页分解dll

    通过HTTP或HTTPS协议,它可以获取网页的源代码,并利用内置的解析机制对抓取到的HTML进行分析。开发者可以设置规则来选择性地抓取特定元素,如链接、标题、段落等,这对于构建网络爬虫非常有用。例如,你可以编写...

    基于HttpClient与HTMLParser 的网页正文提取

    通过引入HttpClient.jar包,开发者可以模拟IE浏览器来获取网页内容,非常适合需要丰富和灵活HTTP功能的应用程序。另外,文章还介绍了HTMLParser,这是一个用来解析HTML文件的Java库,它能够超高速实时解析HTML文件,...

    HTMLParser

    - `sitecapturer.jar` 可能是一个完整的网站捕获工具,利用HTMLParser抓取和保存整个网站的静态副本。 使用HTMLParser可以进行各种应用,如搜索引擎爬虫、社交媒体数据分析、新闻聚合、电商价格监控等。开发者可以...

    c#版htmlparser htmlparser.dll htmlparser源代码

    这些组件可以帮助开发者更好地实现从网络获取HTML内容,然后用HTMLParser进行解析。 总之,`c#版htmlparser htmlparser.dll htmlparser源代码`提供了一个C#实现的HTML解析工具,可以帮助开发者高效地处理HTML文档,...

    网络爬虫htmlparser

    在这个例子中,我们将深入理解如何利用HTMLParser来抓取指定网站的数据。 首先,HTMLParser库提供了一个解析器类,它能够读取HTML源码,并将其转化为易于处理的结构。通过这个库,我们可以方便地定位和提取页面上的...

    HTMLParser提取网页超链接研究

    利用HTMLParser进行超链接提取的过程主要包括以下几个步骤: 1. **加载HTML文档**:使用HTMLParser加载待分析的HTML文档。 2. **定义过滤器**:根据需求定义过滤器来筛选出包含超链接的HTML元素。 3. **提取超链接*...

    htmlParser.jar包

    在很多Web抓取、信息提取以及网页分析的项目中,HTMLParser都是一个理想的工具。 HTMLParser库的设计考虑了易用性和灵活性,它提供了丰富的API,允许开发者通过编程方式来访问和操作HTML文档的各个元素,如标签、...

    htmlparser(c#,java)

    HTMLParser是一款强大的库,用于解析HTML文档,它提供了C#和Java两种编程语言的实现,使得开发者在处理HTML内容时有了更多的灵活性。...通过熟练掌握和利用HTMLParser,可以提升项目效率,优化代码质量。

    解析htmlparser的所有jar包

    它提供了简单且灵活的方式来处理HTML标记,使得在Java程序中操作和分析HTML内容变得容易...有了这个压缩包中包含的所有jar包,你将能够充分利用HTMLParser的功能,无论你是进行简单的文本提取还是复杂的网页处理任务。

    htmlparser2.1.jar

    HTMLParser2.1.jar 是一个基于Java的网页解析库,主要功能是帮助开发者抓取、解析和处理HTML网页内容。这个库特别适用于构建网络爬虫项目,它提供了丰富的API和功能,使得处理复杂的HTML结构变得相对简单。在Java...

Global site tag (gtag.js) - Google Analytics