点击这里给我发消息 点击这里给我发消息

HTML Parser学习 整理常用的解析代码

添加时间:2013-12-7
    相关阅读: 网页 页面 HTML 链接

    1.获取指定URL地址下面的全部的<>标签名称

    private void visitorFunction() {

    try {

    Parser parser = new Parser();

    parser.setURL("http://www.tianya.cn/publicforum/articleslist/0/no20.shtml"); parser.setEncoding(parser.getEncoding());

    NodeVisitor visitor = new NodeVisitor(){

    public void visitTag(Tag tag) {

    System.out.print("tag name is:"+tag.getTagName()+"\n class is:"+tag.getClass());

    }

    };

    parser.visitAllNodesWith(visitor);

    }catch (Exception e) {

    // TODO: handle exception

    }

    }

    2.获取指定页面的全部的链接地址即URL地址值

    private void visitorFunction() {

    try {

    Parser parser = new Parser();

    parser.setURL("http://www.tianya.cn/publicforum/articleslist/0/no20.shtml"); parser.setEncoding(parser.getEncoding());

    NodeVisitor visitor = new NodeVisitor(){

    public void visitTag(Tag tag) {

    System.out.print("tag name is:"+tag.getTagName()+"\n class is:"+tag.getClass());

    }

    };

    parser.visitAllNodesWith(visitor);

    }catch (Exception e) {

    // TODO: handle exception

    }

    }

    这个可以用来当URL队列。网页爬虫将以这些为对象进行顺序抓取全部的相关页面信息。

    3.private void linkBeanFunction() {

    Parser parser = new Parser();

    LinkBean linkBean = new LinkBean();

    linkBean.setURL("http://www.tianya.cn/publicforum/articleslist/0/no20.shtml"); URL[] urls = linkBean.getLinks();

    for (int i = 0; i < urls.length; i++) {

    URL url = urls[i];

    System.out.print(url);

    }

    }

    也可以将全部的URL地址抓取下来的。

    3.抓取页面的全部img标签链接值与图片本身位置

    private void testImageVisitor() {

    try {

    ImageTag imgLinkImageTag;

    ObjectFindingVisitor visitor = new ObjectFindingVisitor(ImageTag.class);

    Parser parser = new Parser();

    parser.setURL("http://www.tianya.cn/focus/index.shtml"); parser.setEncoding(parser.getEncoding()); parser.visitAllNodesWith(visitor); Node[] nodes = visitor.getTags(); for (int i = 0; i < nodes.length; i++) {

    imgLinkImageTag = (ImageTag) nodes[i];//表示的是页面中的IMG标签的

    System.out.print("image url is:"+imgLinkImageTag.getImageURL()+" ImageLocation:"+imgLinkImageTag.extractImageLocn());

    }

    }catch (Exception e) {

    e.printStackTrace();

    }

    }

    查看API发现:

    AppletTag, BaseHrefTag, BodyTag, Bullet, BulletList, CompositeTag, DefinitionList, DefinitionListBullet, Div, DoctypeTag, FormTag, FrameSetTag, FrameTag, HeadingTag, HeadTag, Html, ImageTag, InputTag, JspTag, LabelTag, LinkTag, MetaTag, ObjectTag, OptionTag, ParagraphTag, ProcessingInstructionTag, ScriptTag, SelectTag, Span, StyleTag, TableColumn, TableHeader, TableRow, TableTag, TagNode, TextareaTag, TitleTag有这么多的HTML标签是可以套的。即想要什么样的HTML页面标签都是可以取出来的。这样的话可以分门进行探测标签的!

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册