我从Stackoverflow获得了这个代码,当我做我要求的时候,我很难理解它是如何做到的。我正在抓一个网站上的某些单词。只是想知道是否有人可以告诉我它究竟是如何选择这些词语的?特别是在doc.select部分之后
String text = doc.select("#post-15 > div > table:nth-child(6) > tbody > tr:nth-child(2) > td:nth-child(2) > table:not(:last-of-type)").text();
答案 0 :(得分:2)
.select(cssQuery)接受一个css查询,如果找不到该查询后面的对象,则返回一个为空的Elements对象。在这里找出文档的范围:(https://jsoup.org/apidocs/)
这是思考css选择器正在做什么的一种方式(在查询中从左到右开始)
.text()然后返回找到的节点的文本元素。
这里的css rules是:
答案 1 :(得分:2)
您正面临着一个CSS选择器。可以在documentation中找到关于Jsoup CSS选择器语法的概述。以下是一些线索:
#post-15 > div > table:nth-child(6) >
tbody > tr:nth-child(2) > td:nth-child(2) >
table:not(:last-of-type)
#id
将选择ID为id
a > b
将选择带有标记为parent:nth-child(2)
是一个所谓的伪选择器。它选择其父parent:last-of-type
也是伪选择器。它选择该类型的最后一个元素