+ -
当前位置:首页 → 问答吧 → ******网络爬虫,Java*********

******网络爬虫,Java*********

时间:2010-09-09

来源:互联网

/**
* 由源代码得到所有标题和链接地址
* @param htmlcode
*/
public static void getLink(String htmlcode){
Parser parser = Parser.createParser(htmlcode, "utf-8"); 
HtmlPage page = new HtmlPage(parser); 
try{ 
parser.visitAllNodesWith(page);

catch(ParserException e1){ 
e1 = null;

NodeList nodelist = page.getBody();
NodeFilter filter = new TagNameFilter("A");//筛选<a>标签
HasAttributeFilter hasfilter=new HasAttributeFilter("class","big");//筛选class="big"的<a>
LinkStringFilter linkstrfilter=new LinkStringFilter("http");//筛选连接里有http的
NodeFilter[] nodefilter={filter,hasfilter,linkstrfilter};
AndFilter andfilter=new AndFilter(nodefilter);
nodelist = nodelist.extractAllNodesThatMatch(andfilter, true);
for (int i = 0; i < nodelist.size(); i++)
{
LinkTag link=(LinkTag) nodelist.elementAt(i); 
System.out.println(i+"="+link.getAttribute("href")+"||||"+link.getLinkText());
 
}


}

使用的htmlparser,现在是我能得到页面的链接及链接标题,想要的结果是把这些链接页面的内容也能得到,由于这些链接地址有多样性,就是不是同一个网站的,求通用一些的方法啊!!!高人指点啊!有demo发到我邮箱也可以
[email protected]

作者: shlichanglong   发布时间: 2010-09-09

除非你只想获得网页里的纯文本内容,如果需要读取指定的内容,没有通用办法。

同一网站的同一页面,你也得随着网站的改版而修改代码。

作者: icy_csdn   发布时间: 2010-09-10

也用同样的办法得到内容不就可以了么。

作者: dahaidao   发布时间: 2010-09-10