快捷搜索:

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

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页面标签都是可以掏出来的。这样的话可以分门进行探测标签的!

您可能还会对下面的文章感兴趣: