欢迎来到代码驿站!

当前位置:首页 >

HttpClient抓取网页的两种方式

时间:2020-12-27 17:53:01|栏目:|点击:
一、利用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];
…………
//根据需要做特定处理
}

上一篇:易语言假死无响应采用处理事件解决办法

栏    目:

下一篇:R语言ggplot2边框背景去除的实现

本文标题:HttpClient抓取网页的两种方式

本文地址:http://www.codeinn.net/misctech/37386.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有