• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

HttpClient抓取网页的两种方式

asp 搞代码 4年前 (2022-01-03) 18次浏览 已收录 0个评论

可以利用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 con

来源gao!daima.com搞$代!码网

tent=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];
…………
//根据需要做特定处理
}

以上就是HttpClient抓取网页的两种方式的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:HttpClient抓取网页的两种方式

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址