1你现在的代码定位的是所有包含"class=nlctd1"的语句。用同样的方法可以定位class="nlctd2",然后用getElementsByTag("a")加html()或字符串截取的方法可以提取出你要的内容。
2有没有方法可以根据现在的位置截取下一个td标签值呢?这个问题用你的例子不好说,比如在你的class=nlctd1里包含多个元素,例如<div>题名与责任</div> <div>111</div> <div>22</div> ,这种情况你通过定位 class=nlctd1后,在for (Element element : td) 循环里就可以依次截取下一个标签里的内容了!
package cncomflywaterFiftyAlgorthm;
import javautilScanner;
public class Twenty_sixthWeek {
Scanner s = new Scanner(Systemin);
public static void main(String[] args) {
我们这款沙发是采用最高端的科技制造而成,d簧的d性抗压力都是最高标准。
而且海绵质量也特别过关,定制的时候都是高端产品,坐到沙发上的时候,d性很足,也不会她坐下去的时候舒适度真好,经过无数次实践验证过的,可以放心使用。
这段html实际上是不符合规范的。在用jsoup解析时会出现问题。
我想到一个办法解决这个问题。
首先我想你应该是想得到 标题、馆藏复本的数目、可借复本的数目、朱印宏编著和长江出版社。
所以我们先把上面html里面的文字全部得到即:
java开发解析 馆藏复本:3 可借复本:0 朱印宏编著 长江出版社
然后我想在这段文字中 “馆藏复本:”、“可借复本:”、“编著” 这几个字应该是固定不变的。所以我们可以用正则表达式去对它进行解析,得到你想要的文字。
代码如下:
public class Test {public static void main(String[] args) {
String html = "<div class=\"list_books\" id=\"list_books\"><td>java开发解析</td><p><span><strong>馆藏复本:</strong>3 <br /> <strong>可借复本:</strong>0 </span>朱印宏编著 <br /> 长江出版社</p> </div>";
Document doc = Jsoupparse(html);
String e = docselect("#list_books")text()replaceAll("[\\s]+", "");
//Systemoutprintln(e);
Pattern p = Patterncompile("^()馆藏复本:([\\d]+)可借复本:([\\d]+)()编著()$");
Matcher m = pmatcher(e);
if(mfind()){
for(int i=1;i<=mgroupCount();i++){
Systemoutprintln(mgroup(i));
}
}
}
}
如果如下:
java开发解析3
0
朱印宏
长江出版社
使用Jsoup解析html中的指定数据,十分方便。Jsoup工具十分强大,十分好用。但网上似乎没有很好的例子,本文的目的即在于此。建议仔细阅读代码中的几个例子,Jsoup解析数据不外乎这几种类型。
第一步:将Jsoup JAR包导入项目
第二步:使用Jsoup API
1, 定位
通过div的属性值,定位到html的div(块),即所需要内容对应的块。
示例代码如下:
<div class="content">
2, 筛选数据
a, 通过标签头,在div中继续筛选数据。可能会找到很多的数据,这里会用到循环。见eg1。
//eg1:解析百度音乐 Document doc = Jsoupconnect(">
以上就是关于java 的jsoup怎么获取两个标签相同 类名相同的 标签里面的内容全部的内容,包括:java 的jsoup怎么获取两个标签相同 类名相同的 标签里面的内容、jsoup可以访问js运行之后的html页面吗、jsoup 能否加载异步的数据 加载的url 中含有异步的 展现的数据,怎么用jsoup 获得等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)