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