HttpClient抓取网页的两种方式

当前位置 : 首页 > 实用技巧 > 应用技巧 > HttpClient抓取网页的两种方式

HttpClient抓取网页的两种方式

来源:互联网 作者:脚本宝典 时间:2015-06-08 13:12
可以利用NodeFilter对网页进行分析及利用Visitor对网页进行分析实现抓取网页,具体如下感兴趣的朋友可以参考下,希望对大家有所帮助
一、利用NodeFilter对网页进行分析 

1、生成一个Parser 
a.通过url提取网络上的网页 
复制代码代码如下:

Parser parser = new Parser(); 
parser.setURL("http://www.yahoo.com.cn"); 

b.提取本地网页文件 
通过读文件把网页文件转化成字符串; 
复制代码代码如下:

Parser parser=Parser.createParser(html,charset); 

2、利用NodeFilter做一个filter 
a.利用Tag Name 
NodeFilter filter=new TagNameFilter("IMG"); 
b.利用Tag Class 
NodeFilter filter = new NodeClassFilter(ImageTag.class); 

3、通过匹配filter,得到所有符合条件的Tag 
NodeList list=parser.extractAllNodesThat(filter); 
for(int i=0;i String content=list.elementAt(i).toHtml();//得到符合条件的Tag 内容 
如果针对具体情况进行更加详细的处理,则: 
复制代码代码如下:

ImageTag imageTag=(ImageTag)list.elementAt(i); 
………… 

然后根据需要做相应的处理。 

二、利用Visitor对网页进行分析 
1、生成一个Parser 
a.通过url提取网络上的网页 
复制代码代码如下:

Parser parser = new Parser(); 
parser.setURL("http://www.yahoo.com.cn"); 

b.提取本地网页文件 
通过读文件把网页文件转化成字符串; 
复制代码代码如下:

Parser parser=Parser.createParser(html,charset); 

2、用visitor访问页面 
复制代码代码如下:

ex:ObjectFindingVisitor visitor=new ObjectFindingVisitor(); 
parser.visitAllNodesWith(visitor); 

3、通过特定的visitor得到符合条件的Tag 
复制代码代码如下:

Node[] nodes=visitor.getTags(); 
for(int i=0;i ImageTag imageTag=(ImageTag)nodes[i]; 
………… 
//根据需要做特定处理 
Tag: HttpClient  抓取网页  

相关文章

网友评论

<