Java Jsoup-获取仅包含指定属性及其值的HTML标记
我想使用Java Jsoup-获取仅包含指定属性及其值的HTML标记,java,web-scraping,jsoup,Java,Web Scraping,Jsoup,我想使用jsoup从只有一些特定属性和值的页面中提取元素。我已经通过了以下提到的方法,但没有一种能很好地解决我的目的: Jsoup的getElementsByAttributesMatching 选择查询的格式如下: doc.select("table[width=100%]").select("table[cellpadding=0]").select("table[cellspacing=0]"); 这个也是: doc.select("table[width=100%][cellpadd
jsoup
从只有一些特定属性和值的页面中提取元素。我已经通过了以下提到的方法,但没有一种能很好地解决我的目的:
getElementsByAttributesMatching
doc.select("table[width=100%]").select("table[cellpadding=0]").select("table[cellspacing=0]");
doc.select("table[width=100%][cellpadding=0][cellspacing=0]");
有没有办法通过这个集合?您的选择器已经为这3个属性选择了具有特定值的元素。因此,元素至少有3个属性。但是如果它正好有3个属性,那么这些就是您指定的属性
for (Element el: doc.select("table[width=100%][cellpadding=0][cellspacing=0]"))
if (el.attributes().size() == 3)
// Do something
例子
哈哈哈!简单的技术!只是把基本的东西搞乱了,你就找到了一个很好的解决方案!我应该自己想到这个!!哦,非常感谢!!只是学到了很多新东西!!谢谢!
Document doc = Jsoup.parse(
"<table width=100% cellpadding=0 cellspacing=0>OK</table>" +
"<table width=100% cellpadding=0 cellspacing=0 height=100%>NO</table>");
for (Element el: doc.select("table[width=100%][cellpadding=0][cellspacing=0]"))
if (el.attributes().size() == 3)
System.out.println(el.text());
OK