web前端

位置:IT落伍者 >> web前端 >> 浏览文章

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


发布日期:2024年05月08日
 
HTML Parser学习 整理常用的解析代码

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

private void visitorFunction() {

try {

Parser parser = new Parser();

parsersetURL(); parsersetEncoding(parsergetEncoding());

NodeVisitor visitor = new NodeVisitor(){

public void visitTag(Tag tag) {

Systemoutprint(tag name is:+taggetTagName()+\n class is:+taggetClass());

}

};

parservisitAllNodesWith(visitor);

}catch (Exception e) {

// TODO: handle exception

}

}

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

private void visitorFunction() {

try {

Parser parser = new Parser();

parsersetURL(); parsersetEncoding(parsergetEncoding());

NodeVisitor visitor = new NodeVisitor(){

public void visitTag(Tag tag) {

Systemoutprint(tag name is:+taggetTagName()+\n class is:+taggetClass());

}

};

parservisitAllNodesWith(visitor);

}catch (Exception e) {

// TODO: handle exception

}

}

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

private void linkBeanFunction() {

Parser parser = new Parser();

LinkBean linkBean = new LinkBean();

linkBeansetURL(); URL[] urls = linkBeangetLinks();

for (int i = ; i < urlslength; i++) {

URL url = urls[i];

Systemoutprint(url);

}

}

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

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

private void testImageVisitor() {

try {

ImageTag imgLinkImageTag;

ObjectFindingVisitor visitor = new ObjectFindingVisitor(ImageTagclass);

Parser parser = new Parser();

parsersetURL(); parsersetEncoding(parsergetEncoding()); parservisitAllNodesWith(visitor); Node[] nodes = visitorgetTags(); for (int i = ; i < nodeslength; i++) {

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

Systemoutprint(image url is:+imgLinkImageTaggetImageURL()+ ImageLocation:+imgLinkImageTagextractImageLocn());

}

}catch (Exception e) {

eprintStackTrace();

}

}

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

               

上一篇:JDom输出UTF-8的XML完美解决

下一篇:一次WebSphere类加载问题的错误诊断