HTMLParser获取属性名方式:

原始网页文本:

 <a title="美军被曝虐尸" href="http://www.sogou.com/web?query=%C3%C0%BE%FC%B1%BB%C6%D8%C5%B0%CA%AC" target="_blank">美军被曝虐尸</a></li><li><strong class="num2">2</strong><a title="温岭鞋厂大火" href="http://www.sogou.com/web?query=%CE%C2%C1%EB%D0%AC%B3%A7%B4%F3%BB%F0" target="_blank">温岭鞋厂大火</a></li><li><strong class="num2">3</strong><a title="2014春运全国启动" href="http://www.sogou.com/web?query=2014%B4%BA%D4%CB%C8%AB%B9%FA%C6%F4%B6%AF" target="_blank">2014春运全国启动</a></li><li><strong class="num2">4</strong><a title="汪峰章子怡同居" href="http://www.sogou.com/web?query=%CD%F4%B7%E5%D5%C2%D7%D3%E2%F9%CD%AC%BE%D3" target="_blank">汪峰章子怡同居</a></li><li><strong class="num2">5</strong><a title="透视年会" href="http://www.sogou.com/web?query=%CD%B8%CA%D3%C4%EA%BB%E1" target="_blank">透视年会</a></li>

经过parser处理后文本:

parser匹配代码:

     NodeFilter filter1 = new HasAttributeFilter("a");
NodeFilter filter2 = new HasAttributeFilter("title"); //NodeFilter innerFilter = new TagNameFilter ("title");
//NodeFilter filter2 = new HasChildFilter(innerFilter);
NodeFilter filter = new AndFilter(filter1, filter2);
NodeList nodes = parser.extractAllNodesThatMatch(filter);

处理后文本:

 <a title="美军被曝虐尸" href="http://www.sogou.com/web?query=%C3%C0%BE%FC%B1%BB%C6%D8%C5%B0%CA%AC" target="_blank">美军被曝虐尸</a>
<a title="温岭鞋厂大火" href="http://www.sogou.com/web?query=%CE%C2%C1%EB%D0%AC%B3%A7%B4%F3%BB%F0" target="_blank">温岭鞋厂大火</a>
<a title="2014春运全国启动" href="http://www.sogou.com/web?query=2014%B4%BA%D4%CB%C8%AB%B9%FA%C6%F4%B6%AF" target="_blank">2014春运全国启动</a>
<a title="汪峰章子怡同居" href="http://www.sogou.com/web?query=%CD%F4%B7%E5%D5%C2%D7%D3%E2%F9%CD%AC%BE%D3" target="_blank">汪峰章子怡同居</a>
<a title="透视年会" href="http://www.sogou.com/web?query=%CD%B8%CA%D3%C4%EA%BB%E1" target="_blank">透视年会</a>

得到属性名:

也就是下方的标签属性:

匹配代码:

 Node node = (Node)nodes.elementAt(i);
LinkTag linkTag = (LinkTag)node;
System.out.println(linkTag.getAttribute("title"));

匹配结果:

 美军被曝虐尸
温岭鞋厂大火
2014春运全国启动
汪峰章子怡同居
透视年会

官方API:http://htmlparser.sourceforge.net/javadoc/

最新文章

  1. 【每日一linux命令6】命令中的命令
  2. [转自itilxf论坛]iTop百问百答
  3. xmpp openfire smack 介绍和openfire安装及使用
  4. 模拟Post请求
  5. 是智能手机推动windows xp系统停止服务吗
  6. HDU 5693 D Game 区间dp
  7. 【AngularJs】---JSONP跨域访问数据传输
  8. ActionBar官方教程(4)给ActionBar添加操作项及它们的事件处理
  9. IE6 max-width max-height 不起作用 解决其兼容性问题
  10. 跳跃Java一些周期,双跳FOR周期
  11. MVC3+EF4.1学习系列(六)-----导航属性数据更新的处理
  12. 重拾Python(3):Pandas之Series对象的使用
  13. 剑指Offer——如何做好自我介绍(英文版)
  14. 局部内部类访问它所在方法的局部变量时,要求该局部变量必须声明为final的原因
  15. 找不到servlet对应的class
  16. 《Linux就该这么学》第十七天课程
  17. Apollo 10 — adminService 全量发布
  18. mongodb系列~mongodb集群介绍与管理
  19. Python全栈学习_day001作业
  20. Clumsy&#160;利用无线网卡结合Clumsy软件模拟弱网络测试

热门文章

  1. LeetCode 258
  2. 关于Merge的整理--Merge的使用方法和注意事项的Demo
  3. Commons Codec - 常见的编码解码
  4. Android对象类系列化public class User implements Parcelable
  5. CSS之颜色英文代码全集
  6. dotnetbar 的BalloonTip的用法
  7. winform中文本框的一些案例
  8. 通过使用Chrome的开发者工具来学习JavaScript
  9. 代码优化—From &lt;effective C++&gt;
  10. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)C粉丝与汉诺塔