zoukankan      html  css  js  c++  java
  • HttpClient抓取网页

    一、利用NodeFilter对网页进行分析
    1、生成一个Parser
    a.通过url提取网络上的网页
    Parser parser = new Parser();
    parser.setURL("http://www.yahoo.com.cn");
    b.提取本地网页文件
    通过读文件把网页文件转化成字符串;
    Parser parser=Parser.createParser(html,charset);
    2、利用NodeFilter做一个filter
    a.利用Tag Name
    NodeFilter filter=new TagNameFilter("IMG");
    b.利用Tag Class
    NodeFilter filter = new NodeClassFilter(ImageTag.class);
    3、通过匹配filter,得到所有符合条件的Tag
    NodeList list=parser.extractAllNodesThat(filter);
    for(int i=0;i String content=list.elementAt(i).toHtml();//得到符合条件的Tag 内容
    如果针对具体情况进行更加详细的处理,则:
    ImageTag imageTag=(ImageTag)list.elementAt(i);
      …………
    }
    然后根据需要做相应的处理。

     

     

    二、利用Visitor对网页进行分析 
    1、生成一个Parser  
    a.通过url提取网络上的网页
    Parser parser = new Parser();
    parser.setURL("http://www.yahoo.com.cn");
    b.提取本地网页文件
    通过读文件把网页文件转化成字符串;
    Parser parser=Parser.createParser(html,charset);
    2、用visitor访问页面
    exObjectFindingVisitor visitor=new ObjectFindingVisitor();
          parser.visitAllNodesWith(visitor);
    3、通过特定的visitor得到符合条件的Tag
    Node[] nodes=visitor.getTags();
    for(int i=0;i ImageTag imageTag=(ImageTag)nodes[i];
      …………
    //根据需要做特定处理
    }

  • 相关阅读:
    BZOJ 1004: [HNOI2008]Cards [Polya 生成函数DP]
    BZOJ 1119: [POI2009]SLO [置换群]
    POJ 2154 Color [Polya 数论]
    POJ 2409 Let it Bead [置换群 Polya]
    POJ置换群入门[3/3]
    [置换群&Polya计数]【学习笔记】
    查看linux中的TCP连接数
    SIT测试 和 UAT测试
    原生app是什么意思?
    线程池原理
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3278055.html
Copyright © 2011-2022 走看看